Security Misconfiguration Jumped to #2 in OWASP 2025: Complete Prevention Guide

SCR Security Research Team
February 10, 2026
18 min read
632 words
Share

Why Misconfiguration Surged to #2

Security Misconfiguration (A05:2021 → A02:2025) made the biggest jump in the OWASP Top 10 2025 update, climbing from #5 to #2. This reflects a fundamental shift: as applications move to cloud-native architectures, the configuration surface area has exploded.

The Root Cause: Modern applications aren't just code — they're code + infrastructure + configuration + secrets + cloud resources + third-party services, each with its own security settings. A single misconfigured S3 bucket, an exposed admin panel, or a default password can compromise an otherwise secure application.

YearOWASP RankingCWEs MappedIncidence Rate
2017#6894.2%
2021#52084.5%
2025#23126.3%

The 10 Most Exploited Misconfigurations

1. Cloud Storage Misconfigurations

The Problem: S3 buckets, Azure Blob containers, and GCS buckets are publicly accessible by default in many deployment scenarios.

Real-World Breaches:

CompanyYearData ExposedCause
Capital One2019106M recordsMisconfigured WAF + SSRF to metadata
Microsoft20232.4TB emailsMisconfigured Azure Blob SAS token
Toyota2023260K customer recordsPublic cloud bucket for 10 years
Pentagon (USSOCOM)20233TB emails, filesUnauthenticated Azure server

Fix:

# AWS — Block all public access at the account level
aws s3control put-public-access-block \
  --account-id 123456789012 \
  --public-access-block-configuration \
  BlockPublicAcls=true,IgnorePublicAcls=true,\
  BlockPublicPolicy=true,RestrictPublicBuckets=true

# Verify
aws s3api get-bucket-policy-status --bucket my-bucket

2. Default Credentials

Still the #1 IoT and admin panel vulnerability. Databases, admin consoles, network devices, and CI/CD tools ship with default credentials that are often never changed.

ProductDefault CredentialsFound In
JenkinsNo password (initial setup)CI/CD pipelines
MongoDBNo auth (default config)Databases
Kibanaelastic / changemeLogging infrastructure
Router admin panelsadmin / adminNetwork devices
phpMyAdminroot / (empty)Database management

Shodan Search Statistic: At any given time, over 35,000 MongoDB instances are publicly accessible with no authentication, exposing an estimated 12+ petabytes of data (Comparitech, 2025).

3. Verbose Error Messages

Error messages that leak stack traces, database schemas, file paths, or version information give attackers a roadmap.

// VULNERABLE — Leaks internal details in production
app.use((err, req, res, next) => {
  res.status(500).json({
    error: err.message,
    stack: err.stack,            // Stack trace with file paths
    query: err.sql,              // SQL query that failed
    connectionString: err.host,  // Database host information
  });
});
// SECURE — Generic errors in production, detailed logs internally
app.use((err, req, res, next) => {
  // Log full details for internal debugging
  logger.error({
    message: err.message,
    stack: err.stack,
    requestId: req.id,
    path: req.path,
    timestamp: new Date().toISOString(),
  });

  // Return generic message to client
  res.status(500).json({
    error: "An internal error occurred",
    requestId: req.id, // For support reference only
  });
});

4. Unnecessary Features Enabled

FeatureRiskFix
Directory listingExposes file structureDisable in web server config
DEBUG mode in productionVerbose errors, debug endpointsDEBUG=false in production
TRACE HTTP methodCross-site tracing attacksDisable in web server
Admin panels on public URLsUnauthorized accessIP restriction + strong auth
GraphQL introspection in prodSchema disclosureDisable introspection
Swagger UI in productionAPI documentation exposureRestrict to internal network

5. Missing Security Headers

// Essential security headers for every web application
app.use((req, res, next) => {
  // Prevents clickjacking
  res.setHeader("X-Frame-Options", "DENY");

  // Prevents MIME type sniffing
  res.setHeader("X-Content-Type-Options", "nosniff");

  // Content Security Policy — adjust per application
  res.setHeader("Content-Security-Policy",
    "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'");

  // Force HTTPS
  res.setHeader("Strict-Transport-Security",
    "max-age=31536000; includeSubDomains; preload");

  // Don't send Referer for cross-origin requests
  res.setHeader("Referrer-Policy", "strict-origin-when-cross-origin");

  // Opt out of tracking
  res.setHeader("Permissions-Policy",
    "camera=(), microphone=(), geolocation=(), payment=()");

  next();
});

6. Exposed Management Interfaces

7. Outdated/Unpatched Software

8. Missing TLS/SSL Configuration

9. Permissive Network Policies

10. Misconfigured CI/CD Pipelines (secrets in logs, no branch protection)


Cloud-Specific Misconfiguration Checklist

AWS

  • S3 Block Public Access enabled at account level
  • No IAM users with AdministratorAccess for daily operations
  • CloudTrail enabled in all regions
  • No security groups with 0.0.0.0/0 on SSH (port 22)
  • IMDSv2 enforced on all EC2 instances (prevents SSRF to metadata)
  • No root account access keys exist
  • GuardDuty enabled

Azure

  • Storage accounts require private endpoints
  • No Network Security Groups allowing all inbound traffic
  • Azure Defender enabled for all resource types
  • Managed identities used instead of service principal secrets
  • Activity Log alerts configured

GCP

  • Uniform bucket-level access enabled
  • No default service account used for workloads
  • VPC Service Controls enabled for sensitive projects
  • OS Login enabled for Compute Engine
  • Cloud Audit Logs enabled

Automated Misconfiguration Detection

ToolTypeWhat It Scans
ScoutSuiteOpen SourceMulti-cloud misconfiguration (AWS, Azure, GCP)
ProwlerOpen SourceAWS security best practices (300+ checks)
CheckovOpen SourceIaC misconfiguration (Terraform, CloudFormation, K8s)
trivyOpen SourceContainer + IaC misconfiguration scanning
tfsecOpen SourceTerraform-specific security scanning
CSPM (commercial)SaaSContinuous cloud security posture management

Further Reading

Editorial standards

Published by SecureCodeReviews

This article is part of our original AI security and cybersecurity content library. We show publish and update dates, keep company and policy pages public, and update important guidance when material changes affect readers.

Named author: SCR Security Research Team
Published: Feb 10, 2026
Update status: current publication version

Questions or corrections?

Review our editorial standards, learn more about the company, or contact us if a page needs clarification.

Cloud Assessment

Need a cloud security review before rollout?

We review IAM, network exposure, storage security, deployment posture, and the misconfigurations that usually get missed in fast-moving teams.

AWS, Azure, and GCP posture reviews
IAM, storage, network, and encryption validation
Clear findings with prioritized fixes for engineering teams

Talk to SecureCodeReviews

Get a scoped review path fast

Manual review
Actionable fixes
Fast turnaround
Security-focused

Advertisement