Loading...
Skip to main content

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. ![屏幕截图 2025-03-25 051325](https://github.com/user-attachments/assets/93039a06-d4f1-458a-8595-736b3fede345) And following below is exploiting successfully(execute calculator) ![屏幕截图 2025-03-24 015128(1)](https://github.com/user-attachments/assets/415cf20c-dda0-4634-83ae-f8fa89677a16)

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).

PackageEcosystemAffectedFixed 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-502
    Deserialization 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

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

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies