Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-60080

CVE-2026-60080: Apache Fory Use After Free Vulnerability

CVE-2026-60080 is a use after free flaw in Apache Fory's Rust deserialization logic that can cause crashes or memory disclosure. This article covers the technical details, affected versions 0.13.0-1.3.0, and mitigation.

Published:

CVE-2026-60080 Overview

CVE-2026-60080 is a Use After Free vulnerability [CWE-416] in the Rust deserialization logic of Apache Fory. The flaw affects Apache Fory releases from 0.13.0 through 1.3.0. A crafted Fory payload can trigger undefined behavior, crash the host process, or disclose memory contents. Apache Fory is a cross-language serialization framework, so any Rust service that deserializes untrusted Fory data is exposed. The Apache Fory project has released version 1.4.0 to remediate the issue.

Critical Impact

A network-reachable attacker can send a malicious Fory payload to a Rust deserializer and cause process crash, undefined behavior, or memory disclosure without authentication or user interaction.

Affected Products

  • Apache Fory Rust deserialization library, versions 0.13.0 through 1.3.0
  • Applications embedding vulnerable Apache Fory versions to parse untrusted input
  • Distributed systems and RPC services relying on Apache Fory serialization

Discovery Timeline

  • 2026-07-21 - CVE-2026-60080 published to NVD
  • 2026-07-22 - Last updated in NVD database

Technical Details for CVE-2026-60080

Vulnerability Analysis

Apache Fory provides a Rust implementation of its cross-language serialization protocol. The deserializer reconstructs objects, references, and buffers from a wire-format payload. The vulnerable code path retains a reference to memory that has already been freed during deserialization. When the deserializer subsequently accesses that stale reference, the process operates on invalid memory.

The attack surface is network-facing. Any Rust service that decodes attacker-controlled Fory data can be reached without authentication or user interaction. Exploitation outcomes range from denial of service through process crash, to leakage of adjacent heap data, to undefined behavior that may compromise state integrity.

Root Cause

The root cause is a lifetime and ownership error in the Rust deserialization logic classified under [CWE-416] Use After Free. During object reconstruction, the deserializer releases a buffer or object while retaining a pointer or reference that is later dereferenced. Rust's safety guarantees do not extend to unsafe blocks or manual reference tracking used in high-performance serializers, and Apache Fory's deserializer contains such logic to support its zero-copy and reference-preserving features.

Attack Vector

The attacker delivers a crafted Fory payload to any endpoint that invokes the vulnerable Rust deserializer. The payload manipulates reference tables, object identifiers, or buffer descriptors so that the deserializer frees memory that a later step still uses. No prior privileges are required. Because Fory is commonly used in RPC and messaging pipelines, delivery vectors include HTTP request bodies, message queue payloads, and inter-service calls. See the Apache Security Mailing List Update and Openwall OSS Security Discussion for protocol-level context.

Detection Methods for CVE-2026-60080

Indicators of Compromise

  • Unexpected crashes, segmentation faults, or panics in Rust services that use Apache Fory versions 0.13.0 through 1.3.0.
  • Malformed or oversized Fory payloads observed in application logs or network captures.
  • Anomalous memory content appearing in error messages, stack traces, or downstream responses that may indicate memory disclosure.

Detection Strategies

  • Inventory dependencies to identify services linking any Apache Fory Rust crate version between 0.13.0 and 1.3.0.
  • Enable Rust runtime hardening such as AddressSanitizer in staging to catch use-after-free events during fuzzing of Fory inputs.
  • Fuzz the Fory deserializer with mutated reference tables and object graphs to reproduce the crash signature.

Monitoring Recommendations

  • Alert on abnormal restart rates or panic log entries in services that expose Fory deserialization endpoints.
  • Monitor network traffic to serialization endpoints for payloads exceeding expected size or structural bounds.
  • Correlate crash telemetry with source IP addresses to detect targeted probing of the deserializer.

How to Mitigate CVE-2026-60080

Immediate Actions Required

  • Upgrade Apache Fory to version 1.4.0 or later across all Rust services and dependent projects.
  • Audit build manifests and lockfiles such as Cargo.toml and Cargo.lock to confirm no transitive dependency pins a vulnerable Fory release.
  • Restrict network exposure of services that deserialize Fory payloads until patching is verified.

Patch Information

The Apache Fory project fixed the use-after-free in version 1.4.0. Users of any release from 0.13.0 through 1.3.0 must upgrade. Refer to the Apache Security Mailing List Update for the official advisory and version guidance.

Workarounds

  • Terminate untrusted Fory traffic at an authenticated gateway to reduce exposure until the upgrade is deployed.
  • Enforce strict payload size and schema validation before invoking the Rust deserializer.
  • Isolate services that must accept external Fory data in sandboxed processes with automatic restart to contain crash impact.
bash
# Configuration example
# Update Cargo.toml to require the patched Apache Fory release
# [dependencies]
# fory = ">=1.4.0"

cargo update -p fory --precise 1.4.0
cargo audit

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.