Security context

What an agent needs to avoid regressing past fixes and find the next vuln in this repo.

jaspersoft/jasperreports
master @ 64b1f60
4
Fixes
1
CVEs
HIGH
Peak severity
0.0%
Coverage
Highlights
Deserialization of Untrusted Data: 2 prior fixes. Scrutinize any change in this area.
core/src/main/java/net/sf/jasperreports/engine/fill/VirtualizationObjectInputStream.java: most-fixed (1 issue). Treat as high-risk during review.
4 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns

The bug types that recur here, drawn from past fixes, not open vulnerabilities.

Deserialization of Untrusted Data: String-encoded values parsed by JRValueStringUtils previously used standard ObjectInputStream instances, allowing remote attackers to trigger arbitrary code execution via crafted serialized objects. Developers must ensure any string-to-object deserialization utilizes strict, custom-tailored class filters.
Deserialization of Untrusted Data: Virtualization streams used during report filling processes are highly vulnerable to object injection if they lack unified class filtering. Enforcing centralized class filters on virtualized object streams prevents exploitation during memory-swapping operations.
Deserialization: Combining multiple distinct operations under a single global class filter risks exposing sensitive operations (such as report expression compilation) to overly permissive class allowlists. Rigidly separating compilation whitelists from general-purpose deserialization whitelists is required to block bypasses.