Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attacker-controlled proxied server reaches the victim over the network (AV:N) with no privileges (PR:N), but the operator must open the ViewState panel (UI:R), yielding full code-execution impact (C/I/A:H).
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
3DescriptionCVE.org
Zed Attack Proxy (ZAP) ViewState add-on before version 4 contains an insecure deserialization vulnerability that allows attackers who control a proxied web server to achieve arbitrary code execution by embedding a malicious serialized Java object in the javax.faces.ViewState HTTP response parameter. The JSFViewState.decode() method base64-decodes the ViewState value and passes it directly to ObjectInputStream.readObject() without a deserialization filter, allowlist, or type restriction, causing the malicious object to be deserialized within the ZAP JVM when the Desktop UI renders the ViewState panel.
AnalysisAI
Arbitrary code execution in the OWASP ZAP ViewState add-on (versions before 4) lets a malicious or attacker-controlled proxied web server compromise the security tester's own ZAP instance. By embedding a crafted serialized Java object in the javax.faces.ViewState response parameter, an attacker triggers unsafe Java deserialization inside the ZAP JVM the moment the operator views the ViewState panel in the Desktop UI. There is no public exploit identified at time of analysis and it is not listed in CISA KEV, but the vendor has published an advisory and shipped a fix (viewstate-v4) that disables JSF support entirely.
Technical ContextAI
The flaw is a classic CWE-502 unsafe deserialization in the JSF (JavaServer Faces) ViewState handling path of ZAP's optional viewstate add-on. JSF applications serialize component-tree state into the javax.faces.ViewState field; ZAP's add-on attempts to decode this for inspection. JSFViewState.decode() base64-decodes the attacker-supplied value and passes the bytes straight to java.io.ObjectInputStream.readObject() with no look-ahead deserialization filter, class allowlist, or type restriction. With common gadget libraries on the classpath, readObject() on attacker-controlled bytes is a well-known route to remote code execution. Critically, the vulnerable component is the security tooling itself (the ZAP client/proxy), not the target web application - the trust boundary is inverted because ZAP is expected to safely parse hostile traffic.
RemediationAI
Vendor-released patch: ZAP viewstate add-on version 4 (viewstate-v4); update the add-on via the ZAP Marketplace to version 4 or later, which removes JSF ViewState support entirely (commit ac6c3f9 comments out registration of the javax.faces.ViewState parameter and changes the add-on to an 'ASP ViewState Decoder and Editor' only). If immediate updating is not possible, compensating controls are to uninstall or disable the viewstate add-on (trade-off: loses ASP ViewState decoding too), or operationally avoid opening the ViewState panel when proxying untrusted or unknown JSF targets (trade-off: relies on operator discipline and is not a technical control). See the vendor advisory https://www.zaproxy.org/blog/2026-06-24-java-deserialization-vulnerability-in-zap-viewstate-addon/ and PR https://github.com/zaproxy/zap-extensions/pull/7481 for fix details.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
Same weakness CWE-502 – Deserialization of Untrusted Data
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39777
GHSA-grq4-7pwr-9rmp