GHSA-C244-P6M5-VQJ6

Vulnerability from github – Published: 2026-02-09 12:30 – Updated: 2026-02-11 19:48
VLAI?
Summary
Apache Shiro has an Authentication Bypass
Details

Impact

Authentication Bypass: A vulnerability exists in Apache Shiro that allows authentication bypass for static files when served from a case-insensitive filesystem (such as the default configuration on macOS or Windows).

The issue arises when Shiro's URL filters are configured with lower-case rules (a common default), but the underlying operating system treats mixed-case filenames as identical. An attacker can access protected static resources by varying the capitalization of the filename in the request (e.g., requesting /SECRET.TXT to bypass a rule for /secret.txt).

This issue specifically affects static file handling and does not impact dynamic resource paths that are case-sensitive.

Patches

Users should upgrade to Apache Shiro 2.1.0 or later.

Important Configuration Note: Version 2.1.0 introduces a new configuration parameter to handle case-insensitivity, which must be enabled manually to resolve the issue:

  • shiro.ini: ini filterChainResolver.caseInsensitive = true
  • Spring Boot (application.properties): properties shiro.caseInsensitive=true

Note: Apache Shiro 3.0.0 (upcoming) will enable this setting by default.

Workarounds

  • Ensure that the filesystem hosting the application is case-sensitive (e.g., Linux/Unix).
  • Manually configure all Shiro filter chains to handle all possible case variations of protected filenames (not recommended due to complexity).

Resources

Show details on source website

{
  "affected": [
    {
      "database_specific": {
        "last_known_affected_version_range": "\u003c= 2.0.6"
      },
      "package": {
        "ecosystem": "Maven",
        "name": "org.apache.shiro:shiro-spring"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "2.1.0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2026-23903"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-289"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-02-11T19:48:43Z",
    "nvd_published_at": "2026-02-09T10:15:57Z",
    "severity": "MODERATE"
  },
  "details": "### Impact\n\n**Authentication Bypass:**\nA vulnerability exists in Apache Shiro that allows authentication bypass for static files when served from a case-insensitive filesystem (such as the default configuration on macOS or Windows).\n\nThe issue arises when Shiro\u0027s URL filters are configured with lower-case rules (a common default), but the underlying operating system treats mixed-case filenames as identical. An attacker can access protected static resources by varying the capitalization of the filename in the request (e.g., requesting `/SECRET.TXT` to bypass a rule for `/secret.txt`).\n\nThis issue specifically affects static file handling and does not impact dynamic resource paths that are case-sensitive.\n\n### Patches\nUsers should upgrade to Apache Shiro **2.1.0** or later.\n\n**Important Configuration Note:**\nVersion 2.1.0 introduces a new configuration parameter to handle case-insensitivity, which must be enabled manually to resolve the issue:\n\n* **shiro.ini:**\n    ```ini\n    filterChainResolver.caseInsensitive = true\n    ```\n* **Spring Boot (application.properties):**\n    ```properties\n    shiro.caseInsensitive=true\n    ```\n\n*Note: Apache Shiro 3.0.0 (upcoming) will enable this setting by default.*\n\n### Workarounds\n* Ensure that the filesystem hosting the application is case-sensitive (e.g., Linux/Unix).\n* Manually configure all Shiro filter chains to handle all possible case variations of protected filenames (not recommended due to complexity).\n\n### Resources\n* [CVE-2026-23903](https://nvd.nist.gov/vuln/detail/CVE-2026-23903)\n* [Mailing List Announcement](https://lists.apache.org/thread/5jjf0hnjcol58z2m5y255c7scz1lnp8k)\n* [OSS-Security List](http://www.openwall.com/lists/oss-security/2026/02/08/1)",
  "id": "GHSA-c244-p6m5-vqj6",
  "modified": "2026-02-11T19:48:43Z",
  "published": "2026-02-09T12:30:22Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-23903"
    },
    {
      "type": "WEB",
      "url": "https://github.com/apache/shiro/commit/3b9638b957495004599aeaf24ba8949e309f26e8"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/apache/shiro"
    },
    {
      "type": "WEB",
      "url": "https://lists.apache.org/thread/5jjf0hnjcol58z2m5y255c7scz1lnp8k"
    },
    {
      "type": "WEB",
      "url": "http://www.openwall.com/lists/oss-security/2026/02/08/1"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "Apache Shiro has an Authentication Bypass"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…