CVE-2026-23903: Apache Shiro: Auth bypass when accessing static files only on case-insensitive filesystems
Authentication Bypass by Alternate Name vulnerability in Apache Shiro.
This issue affects Apache Shiro: before 2.0.7.
Users are recommended to upgrade to version 2.0.7, which fixes the issue.
The issue only effects static files. If static files are served from a case-insensitive filesystem,
such as default macOS setup, static files may be accessed by varying the case of the filename in the request.
If only lower-case (common default) filters are present in Shiro, they may be bypassed this way.
Shiro 2.1.0 and later has a new parameters to remediate this issue
shiro.ini: filterChainResolver.caseInsensitive = true
application.properties: shiro.caseInsensitive=true
Shiro 3.0.0 and later makes this the default in shiro.ini-based configurations.
Shiro 3.0.1 and later makes this the default in all configurations, including programmatic and Spring / Spring Boot.
Security readout for executives and security teams
Plain-English summary
Apache Shiro can expose protected static files when an application runs on a case-insensitive filesystem and its security filters match only lowercase paths. An unauthenticated remote requester may obtain those files by changing filename capitalization. The reported impact is limited to confidentiality; dynamic application content is not identified as affected.
Executive priority
Treat this as a focused, moderate-priority remediation. Promptly assess externally reachable Shiro applications containing sensitive static files, especially development or production deployments on case-insensitive storage. Accelerate upgrading where the required filesystem and filter conditions exist; lower priority where static files are public or storage is demonstrably case-sensitive.
Technical view
CVE-2026-23903 is a CWE-289 alternate-name authentication bypass affecting Apache Shiro before 2.0.7. Exploitation requires static files on a case-insensitive filesystem and case-sensitive filter-chain rules. Its CVSS 3.1 score is 5.3: network-accessible, low complexity, unauthenticated, no user interaction, with low confidentiality impact and no reported integrity or availability impact.
Likely exposure
Exposure is conditional, not universal. Prioritize internet-facing applications using Apache Shiro before 2.0.7 that protect static files through lowercase path filters while serving from case-insensitive filesystems, including default macOS setups. The supplied record does not identify other affected products or filesystems.
Exploitation context
The CVSS vector indicates remote, unauthenticated exploitation with low complexity and no user interaction. However, the supplied bundle marks the CVE as absent from KEV and provides no evidence of active exploitation or public weaponization. Impact is limited to unauthorized access to static files under the stated conditions.
Researcher notes
The vulnerability concerns path identity differences between Shiro filter matching and case-insensitive filesystem resolution. Apache states that only static files are affected. Shiro 2.1.0 introduced explicit case-insensitive parameters; defaults expand in 3.0.0 for shiro.ini and 3.0.1 for all configurations. The bundle does not document exploitation telemetry.
Mitigation direction
Upgrade Apache Shiro to version 2.0.7 or later, as recommended by Apache.
On Shiro 2.1.0 or later, enable the documented case-insensitive filter-chain setting.
Review protected static files and remove sensitive information that does not need web exposure.
Confirm configuration defaults when adopting Shiro 3.0.0 or 3.0.1 and later.
Validation and detection
Inventory applications using org.apache.shiro:shiro-web and record their deployed Shiro versions.
Determine whether protected static files reside on a case-insensitive filesystem.
Review filter-chain path rules for lowercase-only or otherwise case-sensitive matching.
After remediation, verify unauthorized requests cannot retrieve protected static files using alternate filename capitalization.
Confirm the intended case-insensitive setting is active in each deployment configuration style.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-289: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-289 · source CWE mapping
Authentication Bypass by Alternate Name
Authentication Bypass by Alternate Name represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.