Description
jackson-databind's deserializer for java.nio.file.Path resolves an attacker-supplied URI without restricting the URI scheme. In JDKFromStringDeserializer.NioPathHelper.deserialize, a string bound from untrusted JSON is passed to new URI(value) and then to Path.of(uri). When that throws FileSystemNotFoundException, the code enumerates ServiceLoader<FileSystemProvider> and calls provider.getPath(uri) on the first provider whose scheme matches the attacker-chosen scheme. Untrusted JSON can therefore select and drive an arbitrary registered FileSystemProvider during readValue under a default JsonMapper, and forces provider class loading at the same time. With only the JDK built-in providers (file, jar/zipfs) present, the resolved path is inert and no mount or network I/O occurs; further impact requires a side-effecting third-party FileSystemProvider on the classpath. This affects com.fasterxml.jackson.core:jackson-databind from 2.8.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. Binding java.nio.file.Path from untrusted JSON should be avoided regardless of version.
Published: 2026-09-01
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Untrusted JSON can trigger loading of arbitrary FileSystemProvider, potentially enabling code execution or illicit file access
Action: Immediate Patch
AI Analysis

Impact

Jackson-databind’s java.nio.file.Path deserializer resolves a URI supplied by untrusted JSON without restricting its scheme. When the built-in file provider cannot be found, the library enumerates all ServiceLoader<FileSystemProvider> implementations and invokes the first provider whose scheme matches the attacker‑chosen scheme. This behavior allows an attacker to supply a JSON payload that selects any FileSystemProvider present on the classpath, causing that provider to be loaded and its getPath method executed during deserialization. While the default JDK providers ("file" and "jar", zipfs) merely produce inert paths, the inclusion of a third‑party provider with side‑effects can lead to remote code execution, network access, or privilege escalation. The vulnerability is triggered only when the application deserializes Path objects from data that the attacker controls, and when a malicious provider is available on the runtime classpath.

Affected Systems

The affected library is FasterXML’s jackson-databind. Vulnerable releases include com.fasterxml.jackson.core:jackson-databind from 2.8.0 up to but not including 2.18.10, from 2.19.0 up to but not including 2.21.6, and from 2.22.0 up to but not including 2.22.2; and tools.jackson.core:jackson-databind from 3.0.0 up to but not including 3.1.6 and from 3.2.0 up to but not including 3.2.2. All newer releases applying the fixed scheme allow‑list are unaffected.

Risk and Exploitability

The CVSS v3 score is 5.3, indicating a moderate risk. The EPSS score is 0.00463, indicating a very low probability of exploitation. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires the attacker to supply crafted JSON containing a URI scheme that matches a FileSystemProvider implementation present on the application’s classpath. Once the provider is loaded during deserialization, any side‑effects performed by that provider execute in the context of the application, potentially leading to arbitrary code execution or unauthorized access. Because only untrusted deserialization of Path objects enables the attack, mitigating the issue is achievable by refusing to deserialize such fields or by applying the vendor’s patch to introduce a strict scheme allow‑list.

Generated by OpenCVE AI on September 3, 2026 at 14:30 UTC.

Remediation

Vendor Solution

Upgrade to jackson-databind 2.18.10, 2.21.6, 2.22.2 (com.fasterxml.jackson.core) or 3.1.6, 3.2.2 (tools.jackson.core). The fix introduces a URI scheme allow-list that defaults to "file" only. Values with no scheme are still read as local filesystem paths. Any other scheme, including jar:, is rejected via handleWeirdStringValue before the ServiceLoader<FileSystemProvider> lookup is reached, so untrusted JSON can no longer select a provider. Applications that legitimately need other schemes can construct NioPathDeserializer with an explicit collection of allowed schemes. Note that this is a behavioral change: code that previously relied on non-file schemes being resolved will need to opt in.


Vendor Workaround

Do not bind java.nio.file.Path-typed fields from untrusted JSON. Where a filesystem path must be accepted, deserialize it as a String and validate it in application code before converting to a Path.


OpenCVE Recommended Actions

  • Upgrade jackson-databind to version 2.18.10, 2.21.6, 2.22.2 of the com.fasterxml.jackson.core package or to version 3.1.6, 3.2.2 of the tools.jackson.core package; the patch replaces the unguarded URI resolution with a scheme allow‑list that accepts only "file" by default.
  • If immediate upgrade is impossible, avoid binding java.nio.file.Path objects directly from untrusted JSON; instead, deserialize the field as a plain String and perform application‑level validation before converting it to a Path.
  • Audit the application’s runtime classpath for any third‑party FileSystemProvider implementations that are not required and remove them, reducing the attack surface when the vulnerable deserializer is used.

Generated by OpenCVE AI on September 3, 2026 at 14:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 03 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-502
References
Metrics threat_severity

None

threat_severity

Moderate


Tue, 01 Sep 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 01 Sep 2026 04:45:00 +0000

Type Values Removed Values Added
First Time appeared Fasterxml
Fasterxml jackson-databind
Vendors & Products Fasterxml
Fasterxml jackson-databind

Tue, 01 Sep 2026 03:30:00 +0000

Type Values Removed Values Added
Description jackson-databind's deserializer for java.nio.file.Path resolves an attacker-supplied URI without restricting the URI scheme. In JDKFromStringDeserializer.NioPathHelper.deserialize, a string bound from untrusted JSON is passed to new URI(value) and then to Path.of(uri). When that throws FileSystemNotFoundException, the code enumerates ServiceLoader<FileSystemProvider> and calls provider.getPath(uri) on the first provider whose scheme matches the attacker-chosen scheme. Untrusted JSON can therefore select and drive an arbitrary registered FileSystemProvider during readValue under a default JsonMapper, and forces provider class loading at the same time. With only the JDK built-in providers (file, jar/zipfs) present, the resolved path is inert and no mount or network I/O occurs; further impact requires a side-effecting third-party FileSystemProvider on the classpath. This affects com.fasterxml.jackson.core:jackson-databind from 2.8.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. Binding java.nio.file.Path from untrusted JSON should be avoided regardless of version.
Title jackson-databind resolves attacker-controlled URI schemes when deserializing java.nio.file.Path
Weaknesses CWE-470
CWE-610
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}


Subscriptions

Fasterxml Jackson-databind
cve-icon MITRE

Status: PUBLISHED

Assigner: HeroDevs

Published:

Updated: 2026-09-01T13:13:09.928Z

Reserved: 2026-08-06T03:59:24.669Z

Link: CVE-2026-19032

cve-icon Vulnrichment

Updated: 2026-09-01T13:13:03.338Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-01T04:18:00.433

Modified: 2026-09-08T19:29:32.200

Link: CVE-2026-19032

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-01T03:18:42Z

Links: CVE-2026-19032 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-03T14:45:04Z

Weaknesses
  • CWE-470

    Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')

  • CWE-502

    Deserialization of Untrusted Data

  • CWE-610

    Externally Controlled Reference to a Resource in Another Sphere