Pjfanning

#6184of 56,330
46.6Total CVSS
Vulnerabilities · 6
Medium
2
High
3
Critical
1
PT-2026-89896
7.5
2026-09-11
Fasterxml · Jackson-Databind · CVE-2026-68497
jackson-databind binds a JSON string to a javax.xml.datatype.Duration or javax.xml.datatype.XMLGregorianCalendar field by passing the raw string verbatim to DatatypeFactory.newDuration(value) or newXMLGregorianCalendar(value) in CoreXMLDeserializers.Std. deserialize. These deserializers are registered by default with no opt-in, so a plain ObjectMapper or JsonMapper with no polymorphic typing and no special configuration reaches this path. The XML Schema lexical grammar permits numeric components of arbitrary length, which the JDK materializes through the native BigInteger(String) and BigDecimal(String) constructors, both quadratic in digit count. Because the digits sit inside a JSON string token rather than a JSON number token, jackson-core's StreamReadConstraints.maxNumberLength guard never applies; jackson's own NumberDeserializers call validateIntegerLength or validateFPLength before parsing a stringified number, but the XML datatype deserializer omits that pre-check. An unauthenticated attacker can therefore submit a single request of a few megabytes, such as a Duration value consisting of the letter P followed by several million digits and the letter Y, and force tens of seconds to several minutes of single-threaded CPU work; a handful of concurrent requests can saturate a server's worker threads. This affects com.fasterxml.jackson.core:jackson-databind from 2.0.0 before 2.18.10, from 2.19.0 before 2.21.6, and from 2.22.0 before 2.22.2, and tools.jackson.core:jackson-databind from 3.0.0 before 3.1.6 and from 3.2.0 before 3.2.2. Users should upgrade to 2.18.10, 2.21.6, 2.22.2, 3.1.6, or 3.2.2.
PT-2026-84082
5.3
2026-09-01
Fasterxml · Jackson-Databind · CVE-2026-19032
**Name of the Vulnerable Software and Affected Versions** com.fasterxml.jackson.core:jackson-databind versions 2.8.0 through 2.18.9 com.fasterxml.jackson.core:jackson-databind versions 2.19.0 through 2.21.5 com.fasterxml.jackson.core:jackson-databind versions 2.22.0 through 2.22.1 tools.jackson.core:jackson-databind versions 3.0.0 through 3.1.5 tools.jackson.core:jackson-databind versions 3.2.0 through 3.2.1 **Description** The deserializer for java.nio.file.Path resolves an attacker-supplied URI without restricting the URI scheme. In the `JDKFromStringDeserializer.NioPathHelper.deserialize` function, a string from untrusted JSON is passed to `new URI(value)` and then to `Path.of(uri)`. If a `FileSystemNotFoundException` occurs, the code enumerates `ServiceLoader<FileSystemProvider>` and calls `provider.getPath(uri)` on the first provider matching the attacker-chosen scheme. This allows untrusted JSON to select and drive an arbitrary registered `FileSystemProvider` during `readValue` under a default `JsonMapper`, forcing provider class loading. While the resolved path is inert with only JDK built-in providers (file, jar/zipfs), further impact is possible if a side-effecting third-party `FileSystemProvider` is present on the classpath. **Recommendations** Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.18.10 Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.21.6 Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.22.2 Upgrade tools.jackson.core:jackson-databind to version 3.1.6 Upgrade tools.jackson.core:jackson-databind to version 3.2.2 Avoid binding java.nio.file.Path from untrusted JSON regardless of the version used.
PT-2026-67715
6.9
2026-02-28
Unknown · Jackson-Core · CVE-2026-18401
**Name of the Vulnerable Software and Affected Versions** jackson-core versions 2.15.0 through 2.18.5 jackson-core versions 2.19.0 through 2.21.0 jackson-core versions 3.0.0 through 3.0.x **Description** The non-blocking (asynchronous) JSON parser in jackson-core fails to enforce the `maxNumberLength` constraint defined in `StreamReadConstraints`. This occurs because the async parsing path in `NonBlockingUtf8JsonParserBase` and related classes does not invoke number length validation methods. Specifically, methods like ` finishNumberIntegralPart()` accumulate digits into the `TextBuffer` without checks, and ` valueComplete()` fails to call `resetInt()` or `resetFloat()`, where `validateIntegerLength()` and `validateFPLength()` are executed. An attacker can submit a JSON document containing a number token of arbitrary length, leading to excessive memory allocation in the `TextBuffer` and potential `OutOfMemoryError`. Additionally, if the application calls `getBigIntegerValue()` or `getDecimalValue()`, the JVM may experience CPU exhaustion due to O(n^2) BigInteger parsing, resulting in a denial of service. **Recommendations** For jackson-core versions 2.15.0 through 2.18.5, update to a version where the `maxNumberLength` constraint is enforced in the async parser. For jackson-core versions 2.19.0 through 2.21.0, update to a version where the `maxNumberLength` constraint is enforced in the async parser. For jackson-core versions 3.0.0 through 3.0.x, update to a version where the `maxNumberLength` constraint is enforced in the async parser.