Skip to main content

Apache Fory EUVDEUVD-2026-31292

| CVE-2026-48207 CRITICAL
Deserialization of Untrusted Data (CWE-502)
2026-05-21 apache GHSA-m5gw-83w2-7749
9.8
CVSS 3.1 · Vendor: apache
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach PyFory deserialization endpoint
  2. Delivery
    Craft malicious reduce-state payload
  3. Exploit
    ReduceSerializer skips DeserializationPolicy check
  4. Execution
    Resolve disallowed global/callable
  5. Persist
    Reconstruct unsafe object
  6. Impact
    Execute code in app context

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the target application (1) deserializes attacker-controlled data using PyFory's Python-native serialization mode, (2) has strict mode DISABLED, and (3) relies on DeserializationPolicy to restrict unsafe classes, functions, or module attributes - the exact control that ReduceSerializer bypasses. The malicious payload must reach a ReduceSerializer reduce-state restoration or global-name resolution path. Limiting factors: applications running with strict mode enabled, not using Python-native mode, not exposing deserialization to untrusted input, or not depending on DeserializationPolicy as a security boundary are not exploitable; this is a non-default, security-configuration-dependent condition rather than a flaw in every PyFory deployment, which is consistent with the very low EPSS despite the 9.8 CVSS.

Impact

Signals conflict and must be weighed carefully. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N, C:H/I:H/A:H = 9.8) and SSVC (Automatable: yes, Technical Impact: total) point to a severe, easily weaponizable deserialization-to-RCE class of bug. However, EPSS is only 0.04% (13th percentile), SSVC Exploitation is 'none', it is not in CISA KEV, and no POC has surfaced - so real-world exploitation is currently unobserved. Critically, the raw CVSS AC:L understates a real precondition: the target application must be deserializing attacker-controlled data in Python-native mode WITH strict mode disabled AND relying on DeserializationPolicy as its safety net. That non-default, security-dependent configuration meaningfully narrows the exposed population, so this is best treated as a high-priority patch for teams actually using PyFory's policy-based sandboxing, rather than an internet-wide emergency. Note the tension: CVSS marks AC:L/PR:N but the description implies a specific insecure configuration is required - verify your deployment mode before prioritizing.

Exploit ScenarioDerived

An application uses PyFory in Python-native mode with strict mode disabled and depends on DeserializationPolicy to block dangerous classes while deserializing data received over the network (e.g., a cache, message queue, or API payload). An attacker submits a crafted serialized blob whose reduce-state or global-name resolution references a disallowed callable; because ReduceSerializer skips the policy hook, the object is reconstructed and attacker-controlled code executes in the application's context. No public POC has been identified, but SSVC rates the attack as automatable with total technical impact.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 23, 2026

Insecure deserialization in Apache Fory's PyFory (Python) library allows remote attackers to bypass DeserializationPolicy validation hooks via the ReduceSerializer, letting untrusted classes, functions, or module attributes be restored despite policy restrictions. All PyFory releases before 1.0.0 are affected when running Python-native mode with strict mode disabled, enabling attacker-controlled data to instantiate unsafe objects and achieve code execution. There is no public exploit identified at time of analysis and EPSS probability is very low (0.04%), but CVSS is 9.8 and SSVC rates technical impact as total with automatable exploitation.

RemediationAI

Vendor-released patch: upgrade Apache Fory / PyFory to version 1.0.0 or later, which enforces DeserializationPolicy validation across the affected ReduceSerializer reduce-state and global-name-resolution paths, per the Apache advisory (https://fory.apache.org/security/#cve-2026-48207-pyfory-reduceserializer-deserializationpolicy-bypass). If you cannot upgrade immediately, enable PyFory strict mode so that reduce-based reconstruction is disallowed rather than relying on the bypassable DeserializationPolicy (trade-off: strict mode may reject legitimate custom objects that depend on reduce semantics, potentially breaking application deserialization). Additionally, stop deserializing untrusted or attacker-reachable data with PyFory Python-native mode entirely, or place such deserialization behind authenticated, trusted-source-only channels (trade-off: requires validating every producer of serialized payloads). Do not depend on DeserializationPolicy allow/deny lists as your sole control on affected versions, since that is precisely the mechanism being bypassed.

Affected VersionsENISA

Apache Fory 0.13.0 <1.0.0

Affected Packages

pypi pyfory fix: 1.0.0
euvd apache_fory fix: 1.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Apache Fory is a high-performance multi-language serialization framework; PyFory is its Python implementation. This flaw (CWE-502, Deserialization of Untrusted Data) resides in the ReduceSerializer path, which handles Python's reduce-based object reconstruction (analogous to pickle's __reduce__ protocol) and global-name resolution. DeserializationPolicy is Fory's allow/deny mechanism intended to gate which classes, functions, and module attributes may be reconstructed; the vulnerability is that ReduceSerializer's reduce-state restoration and global-name resolution paths did not consistently invoke those validation hooks, so the security control could be silently bypassed. The affected CPE is cpe:2.3:a:apache_software_foundation:apache_fory:*, and the issue is specific to Python-native serialization mode rather than cross-language modes.

Know when Apache Fory gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (apache) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.1 HIGH

Network-reachable deserialization yielding RCE (C/I/A:H, PR:N), but AC:H because exploitation requires the non-default combination of Python-native mode, strict mode disabled, and reliance on DeserializationPolicy.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Patch available
May 21, 2026 - 17:01 EUVD
CVE Published
May 21, 2026 - 15:51 nvd
UNKNOWN (no severity yet)
CVE Published
May 21, 2026 - 15:51 cve.org
CRITICAL 9.8

DescriptionCVE.org

Deserialization of untrusted data in Apache Fory PyFory. PyFory's ReduceSerializer could bypass documented DeserializationPolicy validation hooks during reduce-state restoration and global-name resolution. An application is vulnerable if it deserializes attacker-controlled data using PyFory Python-native mode with strict mode disabled and relies on DeserializationPolicy to restrict unsafe classes, functions, or module attributes.

This issue affects Apache Fory: from before 1.0.0.

Mitigation: Users of Apache Fory are recommended to upgrade to version 1.0.0 or later, which enforces DeserializationPolicy validation for the affected ReduceSerializer paths and thus fixes this issue.

Executive ViewAI

Why It Matters

Apache Fory's PyFory library (versions before 1.0.0) contains a critical vulnerability enabling remote code execution on affected systems when processing untrusted data. Any organization deploying PyFory for data processing or integration tasks faces potential system compromise and unauthorized access. Immediate patching is required despite the current lack of public exploits, given the severity of the underlying flaw.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 87% exploitable
Prevalence
Low
niche Python serialization library, limited production footprint versus mainstream serializers
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

49
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +49
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy