Vulnerability Research

OWASP Security Misconfiguration: A05 to A02 Explained

A current guide to OWASP Security Misconfiguration, why A05 became A02, how to test real attack paths, and how to prove each repair holds.

Alex Gibson, Co-Founder and Principal at Artemes AI
Alex Gibson
Co-Founder, Principal
Aug 12, 2026 9 min read
Six step OWASP security misconfiguration control loop from classification and observed state through ownership, repair, and negative retesting

The problem is not that teams misunderstand the OWASP list. It is that they treat a category label as if it were a repair plan.

OWASP security misconfiguration describes software and infrastructure that behave in an unsafe way because of effective settings, defaults, permissions, enabled features, or missing controls. The code can be free of a known defect. The deployment can still expose an administration page, return a stack trace, accept a default password, or grant a service identity more authority than the service needs.

The label matters, but the operating question matters more: which real capability did the setting create, who owns the policy source, and what evidence proves the capability is gone? That is the difference between an OWASP report and a controlled system.

Infographic

Turn an OWASP label into a closed control loop

Classification starts the work. Evidence, ownership, repair, and retesting finish it.

OWASP security misconfiguration control loopA six step flow moves from classifying a suspected security misconfiguration through observing effective state, proving an attack path, assigning the policy owner, repairing the source, and retesting the denied action. A side panel shows evidence that supports each decision.CONTROL LOOP1. CLASSIFYName the unsafe capability, not only the failed check2. OBSERVERead effective state from the running environment3. PROVETest reachability, identity, privilege, and consequence4. ASSIGNRoute the policy source to one accountable owner5. REPAIRChange the source6. RETESTProve denial holdsDECISION EVIDENCEOne finding packetObserved value and timeApproved value and scopeReachable source identityResulting permissionPolicy source and ownerRepair and rollbackNegative retest resultClosed means verified

What does OWASP security misconfiguration mean?

It means the running application stack is less restrictive than the approved design. That stack includes the web server, framework, application, container, cloud service, identity layer, network path, database, and browser controls. One unsafe result can come from several individually valid settings.

Consider an internal support console. The application requires login, the load balancer accepts traffic from the internet, a shared support account has administrator rights, and detailed errors reveal package versions. No single screenshot explains the risk. The connected path does: public reachability, weak identity, broad privilege, and useful disclosure. Close only the error message and the path remains.

OWASP includes missing hardening, unnecessary features, default accounts, verbose errors, insecure cloud permissions, disabled security features, weak headers, and static secrets in this category. The practical definition is even shorter. A setting is a security issue when its effective value creates a capability that an untrusted identity should not have.

Is Security Misconfiguration A05 or A02?

Both labels are correct for different editions. The OWASP Top 10:2021 category was A05. It mapped 20 CWEs, reported a 4.51 percent average incidence rate, counted 208,387 occurrences, and included 789 CVEs. OWASP also said 90 percent of tested applications were examined for some form of misconfiguration.

Late in 2025, OWASP published the current OWASP Top 10:2025 Security Misconfiguration category, where it is A02. Its contributed data covers 16 mapped CWEs, a 3.00 percent average incidence rate, 719,084 occurrences, and 1,375 CVEs. Every application in the submitted dataset was tested for some form of misconfiguration.

Do not turn the raw totals into a trend line. The collection periods, contributors, applications, and mapped CWEs changed. The defensible conclusion is narrower: OWASP raised the category from fifth to second, and the current data shows broad test coverage with a large body of observed failures. Teams that still call it A05 are using the 2021 edition. Teams that call A05 wrong without naming the edition are creating needless confusion.

Which OWASP security misconfiguration examples matter most?

Start with examples that create authority or disclosure, not examples that merely look untidy.

  • Default access. Sample applications, default accounts, known passwords, setup endpoints, and installation files remain reachable after deployment.
  • Excessive detail. Stack traces, debug pages, framework versions, internal paths, query text, and environment values reach an untrusted user.
  • Missing browser controls. Responses omit a useful content policy, framing restriction, content type protection, or an appropriate cache directive for sensitive data.
  • Broad cloud permissions. Storage, queues, functions, secrets, or service identities can be read or changed by more principals than the service design requires.
  • Unnecessary surface. Unused ports, methods, modules, consoles, protocols, packages, and example content expand the paths an attacker can test.
  • Unequal environments. Production has a rushed exception, testing uses real data, or one region missed the hardening applied everywhere else.

The OWASP platform configuration test WSTG-CONF-02 gives two sharp objectives: remove default and known files, and prove no debug code or extensions remain in production. That is better than asking whether a hardening ticket closed. Test the deployed surface.

How do you test a web configuration instead of trusting it?

Begin at the boundary an attacker sees. A simple header read is not a complete application test, but it catches claims that fail at the last proxy:

curl --silent --show-error --head https://app.example.com/

Inspect the actual production response, including error and redirect paths. The OWASP HTTP response headers guidance recommends X-Content-Type-Options: nosniff, prefers the Content Security Policyframe-ancestors directive for framing control, and explains why no-store is the right cache instruction when sensitive responses must not be stored. It also warns against obsolete headers. More headers are not automatically more secure.

Next, test the denied action. Request the administration route without a session. Use an ordinary tenant to request another tenant's object. Trigger a controlled error and confirm the response contains no internal path or stack detail. Ask the service identity to perform an operation outside its declared job. A positive test proves the product works. A negative test proves the boundary works.

Record five fields for each result: observed value, observation time, identity used, expected outcome, and policy owner. Without those fields, the same finding will be rediscovered, debated, and routed again.

What workflow turns an OWASP finding into a verified fix?

  1. Name the capability. Replace “A02 failure” with a statement such as “an unauthenticated internet user can read build diagnostics containing internal paths.”
  2. Read effective state. Gather the response, route, identity, permission, active feature, and policy source from the running environment.
  3. Trace consequence. Determine what data, command, credential, or control becomes available. If the path stops, record the control that stops it.
  4. Assign the source. Route the reverse proxy rule, application setting, cloud policy, image, or deployment template to the team that can change it permanently.
  5. Stage the repair. State the exact value, rollout scope, rollback condition, and expected denied behavior before execution.
  6. Retest from the boundary. Use fresh evidence after deployment. Close only when the untrusted identity can no longer complete the action.

This workflow prevents a common ownership failure. Security reports the symptom, application engineering changes code, platform engineering later reapplies the old proxy policy, and the exposure returns. Repair the winning source. Local edits are containment unless that local file is the declared authority.

What should an actionable OWASP finding say?

Write the finding so the owner can make a decision without reconstructing the test. Lead with the capability: “An unauthenticated internet user can read the production diagnostics endpoint.” Then attach the request, response, collection time, resolved address, route, application identity, data exposed, approved requirement, policy source, and responsible service. The A02 identifier belongs in classification, not in place of the evidence.

Suppose a diagnostics endpoint returns the application version, active environment name, internal service addresses, and the last database error. The endpoint does not expose records or credentials. That does not make it harmless. An attacker can use the version to select exploits, the addresses to map dependencies, and the error to understand the data layer. The consequence is improved attack planning. The finding should say that plainly.

Containment might block the route at the public gateway within minutes. Permanent repair might also disable detailed diagnostics in the production application profile and move operational health data behind an authenticated management path. Those are different actions owned by different teams. Record both. If the gateway rule is later removed, the application level restriction still limits disclosure.

Retest from two positions. An unauthenticated public request should receive the approved denial or minimal response. An authorized monitoring identity should still reach the health data it needs. Security changes that merely break monitoring trade one control failure for another. A useful finding includes the allowed test and the denied test.

Closure evidence should identify the deployed release, active gateway policy version, test identity, response status, response body check, and test time. Keep the original evidence too. That produces a defensible before and after record and gives future responders a known test when the route changes again.

How much configuration work are teams actually managing?

The scale arrives quietly. Forty services across six configuration layers, with 20 meaningful controls per layer, create 4,800 control values. If only 1 percent are wrong, the organization has 48 defects. At 20 minutes to confirm, route, and retest each defect, that is 16 hours of skilled work before a single hard repair begins.

A flat scanner queue makes the math worse because many results share one source. Twenty services may omit the same header because one gateway template is wrong. Group by policy source and observed capability. One owned template repair can close 20 symptoms and prevent recurrence.

Priority should follow the shortest credible path to harm. An exposed administration route with a default account outranks a missing header on a static public page. A broad service role connected to customer data outranks a verbose error visible only to an authenticated developer. The OWASP category explains the cause. Endpoint, identity, network, and data context determine the order.

How do you prevent security misconfiguration from returning?

Put approved values in a versioned deployment source, test them before release, observe effective state after release, and expire every exception. Prevention is a loop, not a secure image built once. Images age, platform defaults change, emergency access survives, and policy precedence shifts.

Give each control one declared authority. If a gateway template owns response headers, application teams should not carry conflicting copies. If cloud organization policy owns public storage, a local bucket setting should be evidence, not the only barrier. Every exception needs an owner, reason, approved scope, expiry, and compensating test.

Artemes applies deep endpoint context with AI driven analysis to connect unsafe state to real exposure and an exact repair. The principle does not depend on a product. Put observed state, consequence, ownership, and executable remediation in one finding packet.

Frequently asked questions

Is OWASP Security Misconfiguration A05?

It is A05 in the OWASP Top 10:2021. It moved to A02 in the current OWASP Top 10:2025. Always name the edition with the identifier.

Is a security misconfiguration the same as a vulnerability?

Not always. A software vulnerability is a defect in code or design. A misconfiguration is an unsafe effective state. Both can create exploitable paths, and one system can contain both at the same time.

Can a vulnerability scanner find OWASP misconfiguration?

It can find visible symptoms such as headers, default pages, methods, or exposed services. It usually needs identity, cloud, deployment, and policy evidence to prove the full capability and assign the permanent fix.

What evidence closes an OWASP misconfiguration finding?

Use fresh effective state plus a negative test from the relevant identity or network. A changed template or a completed ticket proves intent, not the final security result.

The executive takeaway

Choose one public application this week. Test its administration paths, default content, error responses, service identity, storage access, and browser controls from outside the trusted boundary. For every failure, record the capability, policy source, owner, repair, and negative retest. Report A02:2025 for classification. Manage the attack path for risk.

Artemes AI

Put more evidence behind vulnerability decisions

Artemes AI combines endpoint telemetry, sourced vulnerability intelligence, and review-gated analysis so teams can examine the evidence, missing context, and recommended next step together. We are accepting early-access requests now.

Alex Gibson, Co-Founder and Principal at Artemes AI

Alex Gibson

Co-Founder, Principal

Alex writes about configuration drift, operational security evidence, endpoint telemetry, AI-assisted triage, and the practical work of turning signals into better remediation decisions.

Threat Modeling
Blue Team
Context-Aware Scanning
Found this useful? Share it.

Get articles like this in your inbox.

Security research and occasional Artemes AI product updates.