CVE-2026-44598
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedWith valid login credentials, URL Redirection to Untrusted Site ('Open Redirect'), Server-Side Request Forgery (SSRF) vulnerability in Apache Shiro. This issue affects Apache Shiro from 2.0-alpha to 2.1.0, and 3.0.0-alpha-1, only when using shiro-jakarta-ee integration module. Users are recommended to upgrade to version 2.1.1, or 3.0.0-alpha-2 or later, which fixes the issue by encrypting the cookie. After successful login, Jakarta EE integration module uses shiroSavedRequest cookie to redirect to a particular web page after login. This cookie was not validated, and can be forged to send a HTTP GET request from the server itself to an arbitrary URL from the cookie.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceThe shiroSavedRequest cookie in Apache Shiro's Jakarta EE integration module (versions 2.0-alpha through 2.1.0 and 3.0.0-alpha-1) is not validated after successful login. This allows authenticated attackers to forge cookie values containing arbitrary URLs, causing the server to make SSRF requests to attacker-controlled destinations or redirect users to malicious sites.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data>= 2.0.0, < 2.1.1= 3.0.0CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- Low
- User interaction
- Required
- Scope
- Changed
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify Apache Shiro versionLocate the Shiro JAR files in your deployment (typically in WEB-INF/lib or build dependencies) and check the version from the filename (shiro-core-X.X.X.jar) or inspect the MANIFEST.MF file within the JARAffected if The installed version is 2.0.0-alpha through 2.1.0, or exactly 3.0.0-alpha-1
-
Confirm Jakarta EE integration module is in useCheck for the presence of shiro-jakartaee-module JAR in the deployment or verify it is listed as a dependency in your build configuration (pom.xml, build.gradle)Affected if The Jakarta EE integration module (shiro-jakartaee-module) is included in the deployment
-
Verify shiroSavedRequest cookie handling is activeExamine the Shiro configuration (shiro.ini, Spring XML, or annotation-based config) for the session management settings and verify whether savedRequest handling is enabled by default for login redirectsAffected if Login redirection using the shiroSavedRequest cookie is in use, which is the default behavior for post-login redirects in affected versions
-
Inspect cookie configurationReview the HttpServletResponse headers during a login flow to confirm a cookie named 'shiroSavedRequest' is being set, and check if the cookie value appears unencrypted or tamperableAffected if A shiroSavedRequest cookie is present and its value is not encrypted or validated
-
Compare against fixed versionsCross-reference your identified version against the fixed releases: 2.1.1 or 3.0.0-alpha-2 or laterAffected if The deployed version is earlier than 2.1.1 (for 2.x line) or is 3.0.0-alpha-1 (for 3.x line)
You are affected if Apache Shiro with the Jakarta EE integration module is deployed and the installed version falls within 2.0.0-alpha through 2.1.0 or equals 3.0.0-alpha-1, with the shiroSavedRequest cookie being used for post-login redirects.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped2.1.1
Upgrade Apache Shiro to version 2.1.1 or 3.0.0-alpha-2 or later, which encrypts the shiroSavedRequest cookie to prevent tampering. Verify post-login redirects function correctly after upgrading.
2.1.1 or 3.0.0-alpha-2+
- 1. Identify all applications using Apache Shiro with the shiro-jakarta-ee integration module
- 2. Check the current Shiro version in your project dependencies (pom.xml, build.gradle, etc.)
- 3. If using Shiro version >= 2.0.0 and < 2.1.1, upgrade the shiro.version property to 2.1.1 or later in your dependency management
- 4. If using Shiro version 3.0.0 (specifically 3.0.0-alpha-1), upgrade to 3.0.0-alpha-2 or later
- 5. Rebuild and test the application to ensure the upgrade does not break existing functionality
- 6. Deploy the updated application to all affected environments
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation2.0 h
- Implementation4.0 h
- Testing6.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $3,808.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2026-44598 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2026-44598 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data