Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsTraining
StudyProjectsNewsletterHire MeAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Training
Study
Projects
Newsletter
Hire Me
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

2004+ Articles
153+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Checklists
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. Security
  3. CVE-2026-64606: Apache Fury Critical Deserialization Flaw (CVSS 9.8)
CVE-2026-64606: Apache Fury Critical Deserialization Flaw (CVSS 9.8)

Critical Security Alert

This vulnerability is actively being exploited. Immediate action is recommended.

SECURITYCRITICALCVE-2026-64606

CVE-2026-64606: Apache Fury Critical Deserialization Flaw (CVSS 9.8)

A critical deserialization vulnerability in Apache Fury allows attackers to bypass class-registration checks during Java lambda deserialization, enabling arbitrary code execution. Upgrade to version 1.4.0 immediately.

Dylan H.

Security Team

July 22, 2026
4 min read

Affected Products

  • Apache Fury < 1.4.0

Executive Summary

A critical deserialization of untrusted data vulnerability (CVE-2026-64606) has been disclosed in Apache Fury, the high-performance multi-language serialization framework. The flaw carries a CVSS score of 9.8 and allows an attacker to bypass class-registration safety checks during Java lambda deserialization, potentially achieving arbitrary code execution on the target system.

CVSS Score: 9.8 (Critical)

The vulnerability exists in Fury's Java lambda deserialization path. When deserializing lambda objects from untrusted sources, only the lambda capture class undergoes deserialization — the class-registration checks that normally enforce which types are allowed to be deserialized can be circumvented. A patch is available in Apache Fury 1.4.0.


Vulnerability Overview

AttributeValue
CVE IDCVE-2026-64606
CVSS Score9.8 (Critical)
TypeDeserialization of Untrusted Data
Attack VectorNetwork
Privileges RequiredNone
User InteractionNone
ScopeUnchanged
Affected ComponentJava lambda deserialization path

Affected Versions

ComponentAffected VersionsFixed Version
Apache Fury< 1.4.01.4.0

Technical Analysis

Apache Fury uses class-registration allowlists to prevent deserialization of arbitrary classes — a key defense against gadget-chain attacks. However, when deserializing Java lambda objects, Fury only serializes and deserializes the lambda capture class rather than the full lambda. This design quirk means the class-registration check is effectively skipped during lambda deserialization.

An attacker who can supply crafted serialized data to an endpoint using Fury can exploit this gap to inject unexpected classes through the lambda capture path, bypassing the type whitelist entirely.

Attack Flow:
1. Attacker crafts malicious serialized payload embedding a lambda capture
2. Payload targets a Fury-deserialization endpoint (RPC, queue, API)
3. During deserialization, the lambda capture class bypasses registration checks
4. Attacker's class is instantiated — gadget chain executes arbitrary code
5. Full code execution on the server process

Why Class-Registration Matters

ProtectionNormal PathLambda Path (Vulnerable)
Class-registration checkAppliedBypassed
Attacker-controlled classBlockedAllowed
Gadget chain executionPreventedPossible

Immediate Remediation

Step 1: Upgrade Apache Fury

<!-- Maven — upgrade to 1.4.0 -->
<dependency>
  <groupId>org.apache.fury</groupId>
  <artifactId>fury-core</artifactId>
  <version>1.4.0</version>
</dependency>
// Gradle
implementation 'org.apache.fury:fury-core:1.4.0'

Step 2: Validate Deserialization Sources

Even after patching, restrict where serialized data originates:

// Only deserialize from trusted sources
// Never deserialize raw user-supplied bytes without validation
Fury fury = Fury.builder()
    .requireClassRegistration(true)  // Enforce allowlist
    .build();

Step 3: Apply Defense-in-Depth

  • Network segmentation: Prevent untrusted callers from reaching Fury-backed services
  • Input validation: Validate serialized data length and origin before deserialization
  • Monitoring: Alert on unexpected class-loading events in JVM logs

If Immediate Upgrade Is Not Possible

  1. Disable lambda serialization in Fury configuration if your application does not require it
  2. Firewall deserialization endpoints to trusted internal callers only
  3. Enable JVM class-loading auditing via Java agents (e.g., -javaagent:serialkiller.jar)
  4. Deploy a WAF rule to reject oversized or anomalous serialized payloads

Detection Indicators

IndicatorDescription
Unexpected class loading in JVM logsAttacker-supplied classes being instantiated
Anomalous outbound connections from JVMPost-exploitation callback or exfiltration
Unusually large serialized payloads inboundGadget chain padding
Process spawning from JVM parentRCE achieved via Runtime.exec() or ProcessBuilder

Post-Remediation Checklist

  1. Confirm Fury 1.4.0 is deployed across all services
  2. Audit all deserialization endpoints for untrusted data sources
  3. Enable requireClassRegistration(true) explicitly in Fury builder
  4. Review service mesh rules to restrict which callers can send serialized data
  5. Check JVM logs for any historical anomalous class-loading events
  6. Update dependency scans (Dependabot, Renovate) to flag Fury < 1.4.0

References

  • NVD — CVE-2026-64606
  • Apache Fury Release Notes — 1.4.0
  • OWASP — Deserialization of Untrusted Data

Related Reading

  • CVE-2026-65008: Grav CMS Remote Code Execution via Blueprint::dynamicData()
  • CVE-2026-65007: Grav API Plugin Broken Authorization Allows API Key Takeover
#Apache#Deserialization#Java#CVE-2026-64606#RCE#NVD

Related Articles

CVE-2026-47065: Java Deserialization Filter Bypass via resolveProxyClass (CVSS 9.8)

A CVSS 9.8 critical Java deserialization vulnerability allows attackers to bypass ObjectInputFilter via TC_PROXYCLASSDESC, circumventing acceptMatchers…

7 min read

CVE-2026-48207: Apache Fury PyFury Deserialization RCE

A critical deserialization vulnerability in Apache Fury's Python library PyFury allows attackers to bypass DeserializationPolicy validation hooks via the...

5 min read

GlassFish Administration Console Authenticated RCE

An authenticated Remote Code Execution vulnerability in GlassFish's Administration Console (CVSS 9.1) allows users with panel access to execute arbitrary...

5 min read
Back to all Security Alerts