Apache Fory: Heap type confusion in C++ polymorphic smart-pointer deserialization
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA. Impact type from CWE-502.
Summary
Heap type confusion vulnerability in Apache Fory C++ deserialization. This issue affects Apache Fory C++ versions from 0.14.0 before 1.5.0. A crafted input payload can bypass type compatibility checks during polymorphic smart-pointer deserialization, causing an object of an incompatible type to be treated as the declared base type. This may result in undefined behavior and potentially lead to denial of service or arbitrary code execution. Users are recommended to upgrade to Apache Fory 1.5.0, which fixes this issue. Applications not using Apache Fory C++ polymorphic smart-pointer deserialization are not affected.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA Apache Fory (Apache Software Foundation) Fixed in 1.5.0
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
Apache Fory 1.5.0
3 records Highest priority Priority MEDIUM 3 MEDIUM
Other records, highest priority first
- TI-2026-50132 Apache Fory: Out-of-bounds heap read in C++ struct deserializer tagged-int fast-pathPriority MEDIUM 49
- TI-2026-50131 Apache Fory: Uncaught panic (remote DoS) in Go meta-string decoder from untrusted metadataPriority MEDIUM 40
Timeline
- 2026-10-02 Threatist record created from CVE-2026-71558
- 2026-10-03 Alias added: GHSA-rwv5-p9fv-c8fp
References
More Apache Fory vulnerabilities
- TI-2025-38065 Apache Fory, Apache Fory: Python RCE via unguarded pickle fallback serializer in pyfory CVSS 3.1CRITICAL 9.8
- TI-2026-46171 Apache Fory: Heap type confusion and out-of-bounds read/write in C++ compatible-mode field-skip paths CVSS 3.1CRITICAL 9.8
- TI-2026-46169 Apache Fory, Apache Fory: Class-registration bypass through an auto-admitted SerializedLambda capturing interface CVSS 3.1CRITICAL 9.8
- TI-2026-35617 Apache Fory: PyFory ReduceSerializer Incomplete Policy Enforcement CVSS 3.1CRITICAL 9.8
- TI-2026-50132 Apache Fory: Out-of-bounds heap read in C++ struct deserializer tagged-int fast-path CVSS 3.1CRITICAL 9.1
- TI-2026-36874 Apache Fory: Java ReplaceResolverSerializer deserialization checks bypass CVSS 3.1CRITICAL 9.1
Sources
- CVE-2026-71558 · CVE Program
- CVE-2026-71558 · NVD
- FIRST EPSS
- GHSA-rwv5-p9fv-c8fp · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences