Jooby SessionStoreImpl Deserialization Vulnerability – fixed in 2.17.0/3.7.0
CVE-2025-31129 Published on March 31, 2025

jooby-pac4j: deserialization of untrusted data
Jooby is a web framework for Java and Kotlin. The pac4j io.jooby.internal.pac4j.SessionStoreImpl#get module deserializes untrusted data. This vulnerability is fixed in 2.17.0 (2.x) and 3.7.0 (3.x).

Github Repository NVD

Vulnerability Analysis

CVE-2025-31129 can be exploited with network access, requires user interaction. This vulnerability is considered to have a low attack complexity. The potential impact of an exploit of this vulnerability is considered to be very high.

Attack Vector:
NETWORK
Attack Complexity:
LOW
Privileges Required:
NONE
User Interaction:
REQUIRED
Scope:
UNCHANGED
Confidentiality Impact:
HIGH
Integrity Impact:
HIGH
Availability Impact:
HIGH

Weakness Type

What is a Marshaling, Unmarshaling Vulnerability?

The application deserializes untrusted data without sufficiently verifying that the resulting data will be valid.

CVE-2025-31129 has been classified to as a Marshaling, Unmarshaling vulnerability or weakness.


Products Associated with CVE-2025-31129

Want to know whenever a new CVE is published for Jooby? stack.watch will email you.

 

Affected Versions

jooby-project jooby:

Vulnerable Packages

The following package name and versions may be associated with CVE-2025-31129

Package Manager Vulnerable Package Versions Fixed In
maven io.jooby:jooby-pac4j < 2.17.0 2.17.0
maven io.jooby:jooby-pac4j >= 3.0.0.M1, < 3.7.0 3.7.0

Exploit Probability

EPSS
0.46%
Percentile
64.43%

EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.