Security Vulnerability Report
中文
CVE-2026-22748 CVSS 5.3 MEDIUM

CVE-2026-22748

Published: 2026-04-22 06:16:04
Last Modified: 2026-04-24 14:18:17

Description

Vulnerability in Spring Spring Security. When an application configures JWT decoding with NimbusJwtDecoder  or NimbusReactiveJwtDecoder, it must configure an OAuth2TokenValidator<Jwt> separately, for example by calling setJwtValidator.This issue affects Spring Security: from 6.3.0 through 6.3.14, from 6.4.0 through 6.4.14, from 6.5.0 through 6.5.9, from 7.0.0 through 7.0.4.

CVSS Details

CVSS Score
5.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N

Configurations (Affected Products)

cpe:2.3:a:vmware:spring_security:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:vmware:spring_security:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:vmware:spring_security:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:vmware:spring_security:*:*:*:*:*:*:*:* - VULNERABLE
Spring Security 6.3.0 - 6.3.14
Spring Security 6.4.0 - 6.4.14
Spring Security 6.5.0 - 6.5.9
Spring Security 7.0.0 - 7.0.4

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// Vulnerable Configuration Example (Conceptual) // The developer creates a decoder but forgets to set the validator NimbusJwtDecoder decoder = NimbusJwtDecoder.withJwkSetUri("https://auth.example.com/.well-known/jwks.json").build(); // Missing critical security line: decoder.setJwtValidator(new JwtValidator()); // Attack Scenario // 1. Attacker intercepts a valid JWT or creates a new one. // 2. Attacker modifies the payload (e.g., changing "role" to "ADMIN"). // 3. Attacker sends the malicious token to the server: // curl -H "Authorization: Bearer <malicious_jwt>" https://target.com/admin // 4. Server accepts the token because the validator is missing.

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-22748", "sourceIdentifier": "[email protected]", "published": "2026-04-22T06:16:04.040", "lastModified": "2026-04-24T14:18:17.413", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Vulnerability in Spring Spring Security. When an application configures JWT decoding with NimbusJwtDecoder  or NimbusReactiveJwtDecoder, it must configure an OAuth2TokenValidator<Jwt> separately, for example by calling setJwtValidator.This issue affects Spring Security: from 6.3.0 through 6.3.14, from 6.4.0 through 6.4.14, from 6.5.0 through 6.5.9, from 7.0.0 through 7.0.4."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.6, "impactScore": 3.6}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-20"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:vmware:spring_security:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.3.15", "matchCriteriaId": "34E3549D-D600-4800-ABA3-E7D0F3A5AE59"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vmware:spring_security:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.4.0", "versionEndExcluding": "6.4.15", "matchCriteriaId": "979904B0-FAB8-4153-840F-BFCAAC608FA9"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vmware:spring_security:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.5.0", "versionEndExcluding": "6.5.10", "matchCriteriaId": "5A35C014-6D64-4246-99B8-88BD7B5EC92F"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vmware:spring_security:*:*:*:*:*:*:*:*", "versionStartIncluding": "7.0.0", "versionEndExcluding": "7.0.5", "matchCriteriaId": "0B8A5767-EB43-4E11-8E93-9324B70F7060"}]}]}], "references": [{"url": "https://spring.io/security/cve-2026-22748", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}