CVE-2026-23903
Java vulnerability analysis and mitigation

Overview

CVE-2026-23903 is an Authentication Bypass by Alternate Name vulnerability (CWE-289) in Apache Shiro's web component (org.apache.shiro:shiro-web). It affects all versions of Apache Shiro before 2.0.7 and allows unauthenticated remote attackers to access protected static files by varying the case of the filename in HTTP requests on case-insensitive filesystems. The vulnerability was disclosed on February 8–9, 2026, with a fix available in Shiro 2.0.7. It carries a CVSS v3.1 base score of 5.3 (Medium) (Feedly, Openwall OSS-Sec).

Technical details

The root cause is that Apache Shiro's filter chain resolver performs case-sensitive path matching by default. On case-insensitive filesystems (e.g., the default macOS HFS+/APFS setup), a request for /Protected/File.html and /protected/file.html resolve to the same file, but Shiro's filters — typically configured with lowercase paths — only match the lowercase variant. An attacker can bypass authentication and authorization filters by requesting a static file with altered casing (e.g., /Protected/Secret.pdf instead of /protected/secret.pdf), causing the filter chain to not apply and the file to be served directly. This is classified as CWE-289 (Authentication Bypass by Alternate Name) and is limited to static file access; dynamic endpoints are not affected (Openwall OSS-Sec, Red Hat Bugzilla).

Impact

Successful exploitation allows an unauthenticated network attacker to read protected static files (e.g., configuration files, documents, or sensitive resources) that should require authentication or authorization. The confidentiality impact is limited to static file disclosure; integrity and availability are not affected. The scope is restricted to deployments running on case-insensitive filesystems with lowercase-only Shiro filter configurations (Feedly, Openwall OSS-Sec).

Exploitation steps

  1. Reconnaissance: Identify web applications using Apache Shiro versions before 2.0.7 as their security framework, particularly those hosted on macOS or other case-insensitive filesystems. Tools like Shodan, Censys, or HTTP response header analysis can help identify Shiro-protected applications.
  2. Identify protected static resources: Browse the application to enumerate static file paths (e.g., /protected/report.pdf, /admin/config.json) that return 401/403 responses when accessed normally.
  3. Craft case-variant request: Modify the case of one or more path components in the URL (e.g., change /protected/report.pdf to /Protected/report.pdf or /PROTECTED/report.pdf).
  4. Send the request: Issue an unauthenticated HTTP GET request with the case-modified path. On a case-insensitive filesystem, the server resolves the file correctly, but Shiro's lowercase-only filter chain does not match the altered path and skips authentication enforcement.
  5. Access protected file: The static file is returned without authentication, completing the bypass (Openwall OSS-Sec, Red Hat Bugzilla).

Indicators of compromise

  • Network: HTTP GET requests to static file paths with mixed or uppercase characters in path segments that would normally be lowercase (e.g., /Protected/, /Admin/, /Secure/), particularly returning HTTP 200 responses for resources that should require authentication.
  • Logs: Web server access logs showing successful (HTTP 200) responses to requests with case-variant paths for protected static resources from unauthenticated sessions; absence of corresponding Shiro authentication log entries for those requests.
  • Application Logs: Shiro filter chain logs that do not record a filter match or authentication check for requests that successfully retrieved protected static files.

Mitigation and workarounds

Upgrade to Apache Shiro version 2.0.7 or later, which introduces a configurable case-insensitive filter chain resolver. If immediate upgrade is not possible, enable case-insensitive filtering via configuration: set filterChainResolver.caseInsensitive = true in shiro.ini, or shiro.caseInsensitive=true in application.properties. Apache Shiro 3.0.0 (upcoming) will make case-insensitive filtering the default. As an additional measure, consider deploying on case-sensitive filesystems (e.g., Linux ext4) where the bypass condition does not exist (Openwall OSS-Sec, Red Hat Bugzilla).

Community reactions

The vulnerability was reported by Jesse Yang (finder) and remediated by Lenny Primak, who also disclosed it to the oss-security mailing list on February 8, 2026. Red Hat tracked the issue via Bugzilla and assigned it medium severity. Oracle included it in their April 2026 Critical Patch Update. Community reaction has been muted given the limited scope (case-insensitive filesystems only) and low CVSS score (Openwall OSS-Sec, Oracle CPU Apr 2026).

Additional resources


SourceThis report was generated using AI

Related Java vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-p279-2cqp-84jgCRITICAL9.6
  • Java logoJava
  • org.openidentityplatform.opendj:opendj-server-legacy
NoYesJul 24, 2026
GHSA-fp43-vj7g-pg92HIGH7.5
  • Java logoJava
  • org.omnifaces:omnifaces
NoYesJul 24, 2026
GHSA-7ppr-r889-mcf2HIGH7.5
  • Java logoJava
  • org.http4s:http4s-blaze-server_2.12
NoYesJul 24, 2026
GHSA-mhvj-jhpq-885vHIGH7.4
  • Java logoJava
  • org.http4s:http4s-blaze-server_2.13
NoYesJul 24, 2026
GHSA-46q4-43ph-c6frHIGH7.4
  • Java logoJava
  • org.http4s:blaze-http_2.12
NoYesJul 24, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management