CVE-2021-22112 json
Privilege escalation in spring security
published 2021-02-23 5 y ago modified 2026-06-17 4 mo ago also GHSA-gq28-h5vg-8prx , EUVD-2021-1083
- cvss
- 8.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 3.3%
- EPSS 3.3% chance of exploitation in 30 days, percentile 88%
- public exploits
- 0
- none known
Summary
Spring Security 5.4.x prior to 5.4.4, 5.3.x prior to 5.3.8.RELEASE, 5.2.x prior to 5.2.9.RELEASE, and older unsupported versions can fail to save the SecurityContext if it is changed more than once in a single request.A malicious user cannot cause the bug to happen (it must be programmed in). However, if the application's intent is to only allow the user to run with elevated privileges in a small portion of the application, the bug can be leveraged to extend those privileges to the rest of the application.
Patch / fix
- maven org.springframework.security:spring-security-bom 5.2.9, 5.3.8, 5.4.4
- maven org.springframework.security:spring-security-web 5.2.9, 5.3.8, 5.4.4
- pivotal_software spring_security 5.2.9, 5.3.8
- vmware spring_security 5.4.4
- jenkins Arch Linux 2.280-1
arch linux advisories AVG-1595
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2021-22112 updated cvss 8.8
jenkins: Privilege escalation vulnerability in bundled Spring Security library
-
Red Hat Fuse 7 jenkins Red Hat OpenShift Container Platform 3.11 jenkins Red Hat OpenShift Container Platform 4 jenkinsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
3.29% chance of exploitation in the next 30 days, higher than 88% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 9.0 | AV:N/AC:L/Au:S/C:C/I:C/A:C |
| GitHub | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.springframework.security:spring-security-bom | >=5.4.0, <5.4.4 >=5.3.0, <5.3.8 <5.2.9 |
5.4.4 5.3.8 5.2.9 |
| maven | org.springframework.security:spring-security-web | >=5.4.0, <5.4.4 >=5.3.0, <5.3.8 <5.2.9 |
5.4.4 5.3.8 5.2.9 |
Affected products
- n/a Spring Security
Classification
- Weakness
-
- CWE-269 Improper Privilege Management
- Technology feeds
References
-
oracle.com
/security-alerts/cpuApr2021.html
web, patch, third-party-advisory
-
oracle.com
/security-alerts/cpuoct2021.html
web, patch, third-party-advisory
-
tanzu.vmware.com
/security/cve-2021-22112
web, vendor-advisory
-
openwall.com
/lists/oss-security/2021/02/19/7
mailing-list, web, third-party-advisory
-
lists.apache.org
/thread.html/redbd004a503b3520ae5746c2ab5e93fd7da807a8c128e60d2002cd9b%40%3Cissues.nifi.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/r37423ec7eea340e92a409452c35b649dce02fdc467f0b3f52086c177%40%3Cpluto-dev.portals.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/ra6389b1b82108a3b6bbcd22979f7665fd437c2a3408c9509a15a9ca1%40%3Cpluto-dev.portals.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/r2cb05e499807900ba23e539643eead9c5f0652fd271f223f89da1804%40%3Cpluto-scm.portals.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/r163b3e4e39803882f5be05ee8606b2b9812920e196daa2a82997ce14%40%3Cpluto-dev.portals.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/r390783b3b1c59b978131ac08390bf77fbb3863270cbde59d5b0f5fde%40%3Cpluto-dev.portals.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/r3868207b967f926819fe3aa8d33f1666429be589bb4a62104a49f4e3%40%3Cpluto-dev.portals.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/r413e380088c427f56102968df89ef2f336473e1b56b7d4b3a571a378%40%3Cpluto-dev.portals.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/r89aa1b48a827f5641310305214547f1d6b2101971a49b624737c497f%40%3Cpluto-dev.portals.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/ra53677224fe4f04c2599abc88032076faa18dc84b329cdeba85d4cfc%40%3Cpluto-scm.portals.apache.org%3E
mailing-list
-
oracle.com
//security-alerts/cpujul2021.html
web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-22112
advisory
-
jenkins.io
/security/advisory/2021-02-19
web
-
lists.apache.org
/thread.html/redbd004a503b3520ae5746c2ab5e93fd7da807a8c128e60d2002cd9b@%3Cissues.nifi.apache.org%3E
web
-
lists.apache.org
/thread.html/ra6389b1b82108a3b6bbcd22979f7665fd437c2a3408c9509a15a9ca1@%3Cpluto-dev.portals.apache.org%3E
web
-
lists.apache.org
/thread.html/ra53677224fe4f04c2599abc88032076faa18dc84b329cdeba85d4cfc@%3Cpluto-scm.portals.apache.org%3E
web
-
lists.apache.org
/thread.html/r89aa1b48a827f5641310305214547f1d6b2101971a49b624737c497f@%3Cpluto-dev.portals.apache.org%3E
web
-
lists.apache.org
/thread.html/r413e380088c427f56102968df89ef2f336473e1b56b7d4b3a571a378@%3Cpluto-dev.portals.apache.org%3E
web
-
lists.apache.org
/thread.html/r390783b3b1c59b978131ac08390bf77fbb3863270cbde59d5b0f5fde@%3Cpluto-dev.portals.apache.org%3E
web
-
lists.apache.org
/thread.html/r3868207b967f926819fe3aa8d33f1666429be589bb4a62104a49f4e3@%3Cpluto-dev.portals.apache.org%3E
web
-
lists.apache.org
/thread.html/r37423ec7eea340e92a409452c35b649dce02fdc467f0b3f52086c177@%3Cpluto-dev.portals.apache.org%3E
web
-
lists.apache.org
/thread.html/r2cb05e499807900ba23e539643eead9c5f0652fd271f223f89da1804@%3Cpluto-scm.portals.apache.org%3E
web
-
lists.apache.org
/thread.html/r163b3e4e39803882f5be05ee8606b2b9812920e196daa2a82997ce14@%3Cpluto-dev.portals.apache.org%3E
web
-
github.com
/spring-projects/spring-security/releases/tag/5.4.4
web
-
github.com
/spring-projects/spring-security
package
Sources
- CVE List CVE-2021-22112
- GitHub Advisory GHSA-gq28-h5vg-8prx
- NVD CVE-2021-22112
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.