CVE-2026-123779: Apache Axis2/Java exposes service metadata despite exposeServiceMetadata setting

Apache Axis2/Java through 2.0.1 disclosed service metadata, including operation names and schemas, on multiple routes even when the exposeServiceMetadata parameter was disabled. Version 2.0.2 fixes the issue.

Christopher Ort
By Christopher Ort · 2 min read
Share
A server room with exposed network cables and open equipment racks, symbolizing unintended information disclosure
Image: AI-generated, i10X
On this page
  1. Quick Take
  2. In plain English
  3. What happened
  4. What you should do
  5. What it means
  6. Sources
i10X Quick Take

Quick Take

  1. What: Apache Axis2/Java through 2.0.1 disclosed service metadata on multiple routes even when exposeServiceMetadata was set to false
  2. Who is affected: Deployments running Apache Axis2/Java versions through 2.0.1 that rely on exposeServiceMetadata to hide service details
  3. Severity: Medium (CVSS 5.3)
  4. What to do: Upgrade to Apache Axis2/Java version 2.0.2
  5. Status: Patch available

In plain English

Apache Axis2 is a web services framework used by developers to build SOAP-based applications. It has a setting called exposeServiceMetadata that is supposed to hide technical details about a service from anonymous visitors. However, this setting only worked on some routes, while other routes still disclosed operation names and data schemas even when the setting was turned off. Version 2.0.2 fixes this so the setting now works consistently across all routes.

What you should do: If you are an ordinary user who does not run web services, you can ignore this.

What happened

The exposeServiceMetadata service parameter in Apache Axis2/Java was only enforced on the ?wsdl, ?wsdl2 and ?xsd query routes. For a service that had disabled this parameter, multiple other routes still disclosed metadata to anonymous callers:

  • Packaged .wsdl and .xsd file routes
  • Named-WSDL ?wsdl=NAME route of the standalone HTTP server
  • OpenAPI, Swagger UI and MCP catalog endpoints
  • The /services/ listing
  • WS-MetadataExchange GetMetadata
  • The ping module

This metadata included operation names and request and response schemas. The vulnerability affects Apache Axis2/Java through version 2.0.1.

According to the release notes, the gate is now implemented in AxisService.isMetadataExposed() in the kernel, making it accessible to modules that answer anonymous metadata requests. Previously, the check was a private method in each HTTP transport, so modules could not reach it and did not apply the restriction.

The fix also addresses a separate issue where the ?xsd= route could reach any packaged META-INF resource, including services.xml, which contains parameters naming keystores and password-callback classes. The shared stream helper now serves only schema and WSDL documents.

What you should do

Upgrade to Apache Axis2/Java version 2.0.2, which fixes the issue. The release notes state that a service with exposure disabled is now skipped rather than refused on all routes, making it indistinguishable from one that is not deployed.

The release notes also document that the ?wsdl, ?wsdl2, ?xsd and ?policy query routes still answer 403 for a hidden service where an undeployed one gets 404, which is an existence oracle. This is tracked for a follow-up fix.

What it means

This vulnerability allowed attackers to discover technical details about web services that administrators intended to keep private. While the CVSS score of 5.3 indicates medium severity, the exposure of operation names and schemas could aid reconnaissance for further attacks. Organizations that relied on exposeServiceMetadata to hide service details from anonymous callers were not protected on multiple routes until version 2.0.2.

Sources

Christopher Ort

Christopher Ort

Christopher Ort handles SEO, AI agent workflows and PR & partnerships at i10x.ai, the all-in-one AI workspace built by i10X Global Pte. Ltd. in Singapore. He is a graduate of Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU). He is the author of “The Style Penalty”, a study published on SSRN that analyses 1,576 evaluation decisions by four frontier AI models to show how AI-written CVs fare in automated hiring screens; the research has been covered by heise online and t3n.

Editor's picks

  1. CVE-2026-123809: Jinja2 Template Injection in Dynatrace MCP Server
  2. CVE-2026-119613: AshAi tool error messages leak internal module names and data
  3. CVE-2026-123779: Apache Axis2/Java exposes service metadata despite exposeServiceMetadata setting
  4. CVE-2026-18484: IBM ContextForge MCP Gateway denial of service via tool name collision
  5. CVE-2026-123493: Vikunja bot tokens bypass account lockouts, let disabled users keep access