CVE-2025-31129 — Vulnerability in io.jooby:jooby-pac4j — CVE Details
HIGH
jooby-pac4j: deserialization of untrusted data
Published April 1, 2025Updated April 1, 2025Source: osv
Summary
### Impact
Versions after 2.x and before 3.x of io.jooby:jooby-pac4j can cause deserialization of untrusted data
### Patches
- 2.17.0 (2.x)
- 3.7.0 (3.x)
### Workarounds
- Not using io.jooby:jooby-pac4j until it gets patches.
- Check what values you put/save on session
### References
Version 2.x:
https://github.com/jooby-project/jooby/blob/v2.x/modules/jooby-pac4j/src/main/java/io/jooby/internal/pac4j/SessionStoreImpl.java#L39-L45
Version 3.x:
https://github.com/jooby-project/jooby/blob/v3.6.1/modules/jooby-pac4j/src/main/java/io/jooby/internal/pac4j/SessionStoreImpl.java#L77-L84
### Cause
In module pac4j io.jooby.internal.pac4j.SessionStoreImpl#get , it is used to handle sessions , and trying to get key value. In strToObject function ,it's trying to deserialize value when value starts with "b64~" , which might cause deserialization of untrusted data.
[modules/jooby-pac4j/src/main/java/io/jooby/internal/pac4j/SessionStoreImpl.java](https://github.com/jooby-project/jooby/blob/v3.6.1/modules/jooby-pac4j/src/main/java/io/jooby/internal/pac4j/SessionStoreImpl.java#L77-L84)
Here's a small demo using SessionStoreImpl#get to handle sessions ,and user can pass parameters.

And following below is exploiting successfully(execute calculator)

Advisory Timeline
- First published April 1, 2025 (559 days ago).
- Last revised April 1, 2025 — 0 days after initial publication.
Remediation
Upgrade to the fixed version using your package manager.
Maven
Update io.jooby:jooby-pac4j to 2.17.0 or later<!-- Update pom.xml dependency version to 2.17.0 for io.jooby:jooby-pac4j -->
Maven
Update io.jooby:jooby-pac4j to 3.7.0 or later<!-- Update pom.xml dependency version to 3.7.0 for io.jooby:jooby-pac4j -->
After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.
Affected Packages (2)
Affects 1 ecosystem: maven (1).
| Package | Ecosystem | Affected | Fixed In |
|---|---|---|---|
| io.jooby:jooby-pac4j | maven | 2.10.0, 2.11.0, 2.12.0, 2.13.0 (+38 more) | 2.17.0 |
| io.jooby:jooby-pac4j | maven | 3.0.0, 3.0.0.M1, 3.0.0.M11, 3.0.0.M2 (+45 more) | 3.7.0 |
Vulnerability Classification
Common Weakness Enumeration (CWE) identifiers for this vulnerability type.
- CWE-502Deserialization of Untrusted DataMITRE
CVSS Score Breakdown
What the CVSS (Common Vulnerability Scoring System) 8.8 score means for each attack dimension.
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
References
- https://github.com/jooby-project/jooby/security/advisories/GHSA-7c5v-895v-w4q5WEB
- https://nvd.nist.gov/vuln/detail/CVE-2025-31129ADVISORY
- https://github.com/jooby-project/jooby/commit/3e13562cf36d7407813eae464e0f4b598de15692WEB
- https://github.com/jooby-project/joobyPACKAGE
- https://github.com/jooby-project/jooby/blob/v2.x/modules/jooby-pac4j/src/main/java/io/jooby/internal/pac4j/SessionStoreImpl.java#L39-L45WEB
- https://github.com/jooby-project/jooby/blob/v3.6.1/modules/jooby-pac4j/src/main/java/io/jooby/internal/pac4j/SessionStoreImpl.java#L77-L84WEB
Frequently Asked Questions
- What is CVE-2025-31129?
- jooby-pac4j: deserialization of untrusted data This vulnerability has been assigned a severity rating of HIGH (CVSS score: 8.8/10).
- How do I check if my project is affected by CVE-2025-31129?
- CVE-2025-31129 affects io.jooby:jooby-pac4j. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2025-31129 and 200,000+ other known vulnerabilities.
Severity & Exploitability
CVSS Score
8.8
High exploitability or significant impact. Prioritize remediation within days.
Also Known As
GHSA-7c5v-895v-w4q5
Related CVEs
- CVE-2026-61570HIGH
MPXJ: XXE Vulnerability in MerlinReader
- CVE-2026-107725HIGH
Hazelcast has an authorization bypass in IMap Predicates API
Check if you're affected
Scan your dependencies to see if this vulnerability affects your projects.
Scan Your Dependencies