Authentication Bypass in Apache Shiro: CVE-2020-1957

shiro Updated 02 Oct 2025

Summary

25/03/2020
N/A
Yes i
Critical
9.8

CVE-2020-1957: Apache Shiro before 1.5.2, when using Apache Shiro with Spring dynamic controllers, a specially crafted request may cause an authentication bypass. Affects shiro across 2 version ranges.

< 1.3.2-4+deb11u1 < d1653b888509e1c2b280b5fd8f15dfcf8d8da56f

Fixed in 1.3.2-4+deb11u1. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Mobile apps built by Devnack Design, build and launch iOS and Android apps with a senior product team. From idea to store release Start a project

Background

Apache Shiro is a powerful and flexible open-source security framework that enables developers to secure applications with ease. It provides features such as authentication, authorization, cryptography, and session management. However, prior to version 1.5.2, Shiro was found to have a vulnerability when used with Spring dynamic controllers, which could lead to an authentication bypass, compromising the security of applications relying on this framework.

Vulnerability Detail

CVE-2020-1957 is a vulnerability in Apache Shiro that allows an attacker to bypass authentication mechanisms through specially crafted requests. This issue arises when Shiro is integrated with Spring dynamic controllers, where improper handling of requests can lead to unauthorized access. The potential ramifications include unauthorized access to sensitive data and functionalities, which could severely impact the integrity and confidentiality of the application. The vulnerability has a CVSS score of 9.8, indicating a critical level of severity.

How To Fix

Minimum fixed version

1.3.2-4+deb11u1

This is the first release that contains the fix.

sudo apt-get install --only-upgrade shiro

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

If immediate upgrading is not feasible, consider implementing additional security measures such as input validation and request filtering to mitigate the risk of authentication bypass. However, these are temporary solutions and should not replace the need for an upgrade.

Conclusion

CVE-2020-1957 represents a significant security risk for applications using Apache Shiro prior to version 1.5.2. It is crucial for developers to upgrade to the latest version to protect against potential authentication bypass attacks. Utilizing tools like Vulert can further enhance security by monitoring for vulnerabilities in real-time.

See every vulnerability recorded for shiro →

Share this vulnerability

FAQ

CVE-2020-1957 is a vulnerability in Apache Shiro that allows for authentication bypass when used with Spring dynamic controllers.

Exploitation of this vulnerability can lead to unauthorized access to sensitive data and functionalities within applications using Apache Shiro.

You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability without any signup.

It is recommended to upgrade to Apache Shiro version 1.5.2 or later to mitigate this vulnerability.

Vulert is a service that monitors and alerts for open-source vulnerabilities in software using just a manifest file like package-lock.json, providing real-time insights.

Related vulnerabilities

Recent vulnerabilities recorded for shiro.

How To Fix

Minimum fixed version

1.3.2-4+deb11u1

This is the first release that contains the fix.

sudo apt-get install --only-upgrade shiro

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback