CVE-2026-16723
Java vulnerability analysis and mitigation

Overview

CVE-2026-16723 is a critical remote code execution (RCE) vulnerability in Alibaba's fastjson library, affecting versions 1.2.68 through 1.2.83 (the last 1.x release). The vulnerability is exploitable under fastjson's stock default configuration — no AutoType enablement and no classpath gadget are required — making it exceptionally dangerous for the large number of applications using these versions. The sole deployment prerequisite is that the target application runs as a Spring Boot executable fat-jar (launched via java -jar), which is the most common Spring Boot deployment model. It was disclosed on July 23, 2026, with a patch released as fastjson 1.2.84. The CVSS v3.1 base score is 9.0 (Critical), assigned by Alibaba (Github Advisory, Alibaba Security Advisory).

Technical details

The root cause is classified as CWE-502 (Deserialization of Untrusted Data) and CWE-20 (Improper Input Validation). In fastjson 1.x, the checkAutoType method probes user-controlled type names via getResourceAsStream calls on the Spring Boot fat-jar's classloader, which exposes an exploitable code path even when AutoType is disabled. An attacker can craft a malicious JSON payload containing a specially formed @type field with URL-special characters (e.g., :/!) that bypasses the denylist and triggers resource probing or class loading, ultimately achieving arbitrary code execution. All standard JSON parsing entry points are reachable: JSON.parse(), JSON.parseObject(String), and JSON.parseObject(String, Class) — and specifying a target DTO class is not a mitigation, as attackers can nest payloads inside Object/Map-typed fields. The vulnerability has been verified on Spring Boot 2.x/3.x/4.x and JDK 8/11/17/21. A public PoC exploit script (CVE-2026-16723.py) is available on GitHub (Alibaba Security Advisory, PoC GitHub).

Impact

Successful exploitation allows an unauthenticated remote attacker to execute arbitrary commands on the target server with the privileges of the Java process running the Spring Boot application, resulting in full system compromise. The impact spans all three security dimensions: complete confidentiality loss (access to application data, secrets, credentials), integrity loss (ability to modify files, inject code, or alter application state), and availability loss (service disruption or destruction). Given the prevalence of Spring Boot fat-jar deployments in enterprise environments, the blast radius is significant, with potential for lateral movement within internal networks, data exfiltration, and ransomware deployment. Reports indicate active targeting of US-based organizations (Bleeping Computer, CybersecurityNews).

Exploitability

This vulnerability is being actively exploited in the wild, with multiple sources confirming real-world attacks targeting US-based organizations as of late July 2026 (Bleeping Computer, SecurityWeek). A fully functional Python exploit script (CVE-2026-16723.py) is publicly available on GitHub, with usage examples demonstrating arbitrary command execution against target systems (e.g., python CVE-2026-16723.py -t http://localhost:8080/parse -c "id > /tmp/result") (PoC GitHub). Additional PoC repositories have appeared (e.g., EQSTLab), and Nuclei templates for detection have been submitted. The EPSS score is approximately 0.66% per Feedly data (0.413% per GitHub Advisory at time of publication), though active exploitation suggests real-world risk is substantially higher. The vulnerability is not yet listed in the CISA KEV catalog based on available data, and no specific threat actor attribution has been publicly confirmed. The vulnerability was discovered and responsibly disclosed by Kirill Firsov of FearsOff Cybersecurity (Alibaba Security Advisory).

Exploitation steps

  1. Reconnaissance: Identify internet-facing Spring Boot applications using Shodan, Censys, or similar tools by fingerprinting fat-jar deployments. Confirm the target uses fastjson 1.2.68–1.2.83 by analyzing HTTP response headers, error messages, or dependency manifests if accessible.
  2. Identify JSON parsing endpoints: Locate application endpoints that accept and parse JSON input (e.g., REST API endpoints accepting Content-Type: application/json). These are the entry points for JSON.parse(), JSON.parseObject(), or similar fastjson calls.
  3. Craft malicious payload: Construct a JSON payload containing a specially crafted @type field with URL-special characters (e.g., :/!) that bypasses fastjson's denylist. The payload exploits the getResourceAsStream probing behavior in the Spring Boot fat-jar classloader to trigger class loading of an attacker-controlled type.
  4. Deliver payload: Send the crafted JSON payload via HTTP POST (or other applicable method) to the target endpoint. No authentication is required. If the endpoint expects a specific DTO, nest the malicious @type payload inside an Object or Map-typed field of the expected structure.
  5. Achieve code execution: The fastjson parser processes the @type value, probes the fat-jar classloader, and instantiates or invokes a class/method that executes attacker-controlled commands on the server (e.g., id > /tmp/result, reverse shell).
  6. Post-exploitation: Use the established shell to enumerate the environment, exfiltrate credentials or data, establish persistence, or pivot to internal network resources (PoC GitHub, Alibaba Security Advisory).

Indicators of compromise

  • Network: Unusual HTTP POST requests to JSON-accepting API endpoints containing @type fields with URL-special characters (:, /, !) in the type name; unexpected outbound connections from the Java application server to unknown external IPs (potential reverse shell or C2 traffic); DNS lookups for attacker-controlled domains originating from the application server.
  • Logs: Application logs showing fastjson parsing errors or exceptions related to type resolution with non-standard class names; access logs with large or malformed JSON bodies sent to REST endpoints; Java stack traces referencing ParserConfig.checkAutoType or TypeUtils.loadClass with unusual class name arguments.
  • File System: Unexpected files written to world-writable directories (e.g., /tmp/result, /tmp/*.sh); new cron jobs, systemd units, or startup scripts created by the application service account; web shells or backdoor binaries dropped in the application directory.
  • Process: Unusual child processes spawned by the JVM process (e.g., /bin/bash, /bin/sh, curl, wget, python, nc); processes running as the application service account performing network connections or file operations inconsistent with normal application behavior.
  • YARA/Detection Rules: Community YARA rules for detecting CVE-2026-16723 payloads have been submitted (referenced via r/blueteamsec); Emerging Threats ruleset update 2026-07-29 (v11245) includes signatures for this vulnerability (Emerging Threats).

Mitigation and workarounds

The primary remediation is to upgrade fastjson to version 1.2.84, which fixes the vulnerability by rejecting type names containing URL-special characters (:/!) before any resource probing or class loading occurs (Alibaba Security Advisory). If immediate upgrade is not possible, the following workarounds are available in priority order:

  • Enable SafeMode (P0): Set -Dfastjson.parser.safeMode=true as a JVM argument, call ParserConfig.getGlobalInstance().setSafeMode(true) in code, or configure it in fastjson.properties. This rejects all @type processing before the vulnerable path is reached.
  • Switch to noneautotype build (P0): Use com.alibaba:fastjson:1.2.83_noneautotype, which removes the vulnerable code at compile time.
  • Migrate to fastjson2 (P1): fastjson2 architecturally eliminates this vulnerability and is not affected. Note: fastjson2 users should separately upgrade to 2.0.63+ for an unrelated AutoType hardening fix.
  • Network restriction: If patching is not immediately possible, restrict network access to applications using affected fastjson versions to limit exposure (Github Advisory).

Community reactions

The vulnerability generated significant attention across the security community, with Risky Biz describing it as a bug "about to rock the Java world" (Risky Biz). Imperva published a blog post confirming their customers were protected and providing technical analysis (Imperva). Check Point published a defense advisory (CPAI-2026-9631), and Ireland's NCSC issued a dedicated PDF advisory. The Hacker News, Bleeping Computer, SecurityWeek, SC World, and eSecurity Planet all covered the active exploitation, with Bleeping Computer specifically reporting on attacks targeting US firms. Community discussion on Reddit (r/pwnhub, r/SecOpsDaily, r/AZURE, r/linuxadmin) highlighted concern about the large installed base of fastjson 1.x in enterprise Java applications and the lack of an initial patch. One commentator noted that "fastjson 1.x is dead" and organizations should treat migration to fastjson2 as urgent (Duggan USA Blog).

Additional resources


SourceThis report was generated using AI

Related Java vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-10050HIGH8.7
  • Java logoJava
  • jetty12
NoYesAug 04, 2026
CVE-2026-56818MEDIUM6.5
  • Java logoJava
  • netty-tcnative
NoYesAug 07, 2026
CVE-2026-48047MEDIUM5.9
  • Java logoJava
  • org.xwiki.platform:xwiki-platform-webjars-api
NoYesAug 07, 2026
CVE-2026-53573MEDIUM4.8
  • Java logoJava
  • org.geonetwork-opensource:geonetwork
NoYesJul 31, 2026
CVE-2026-71497MEDIUM4.7
  • Java logoJava
  • maven-shared-utils
NoYesAug 06, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management