Skip to main content

Apache HugeGraph CVE-2025-26866

HIGH
Deserialization of Untrusted Data (CWE-502)
2025-12-12 security@apache.org
8.8
CVSS 3.1 · Vendor: apache
Share

Severity by source

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

Pre-patch Raft RPC had no authentication (the fix adds IP auth), so PR:N over the network; straightforward Hessian object injection gives AC:L and full C/I/A via RCE.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/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
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Metadata Corrected
Oct 07, 2026 - 21:40 vuln.today
tag: Apache added
Analysis Generated
Oct 07, 2026 - 20:43 vuln.today
CVE Published
Dec 12, 2025 - 10:15 cve.org
HIGH 8.8

DescriptionCVE.org

A remote code execution vulnerability exists where a malicious Raft node can exploit insecure Hessian deserialization within the PD store. The fix enforces IP-based authentication to restrict cluster membership and implements a strict class whitelist to harden the Hessian serialization process against object injection attacks.

Users are recommended to upgrade to version 1.7.0, which fixes the issue.

AnalysisAI

Remote code execution in the Apache HugeGraph PD (Placement Driver) store before 1.7.0 lets an attacker with network reachability to the internal Raft RPC endpoint inject malicious Hessian-serialized objects and execute arbitrary code on the PD node, per the independent assessment which rates the vector as AV:N/AC:L/PR:N/UI:N with high confidentiality, integrity and availability impact. The root problem is twofold: Raft cluster membership was not restricted by IP-based authentication and Hessian deserialization had no class whitelist, so a rogue node that could reach the port could push crafted serialized payloads into the state machine. Fixes are available in Apache HugeGraph 1.7.0 (PR #2735 adds an IP whitelist channel handler and a hardened Hessian serializer factory); there is no public exploit identified at time of analysis and EPSS is low (0.89%, 58th percentile), with the main practical constraint being that the PD Raft channel is normally bound to an internal cluster network rather than the public internet.

Technical ContextAI

HugeGraph's PD store coordinates cluster metadata and uses a Raft consensus implementation built on SOFAJRaft with Bolt/Netty RPC transport. State machine commands are transported as byte arrays and reconstructed in KVOperation.fromByteArray via a Hessian input stream; before the fix that stream used no serializer factory restriction, so any class present on the PD classpath could be instantiated during deserialization - the classic CWE-502 untrusted-deserialization primitive that enables object-injection gadget chains and ultimately code execution under the PD process identity. The patch at PR #2735 does two things: it registers HugegraphHessianSerializerFactory as the serializer factory on the Hessian input, enforcing a strict class whitelist against object injection, and it installs a new IpAuthHandler as a front channel handler on the BoltRpcServer, populated from the configured Raft peer list (Peers.stream().map(PeerId::getIp)), so only known peer IPs can establish connections and join the cluster. The CPE cpe:2.3:a:apache:hugegraph:*:*:*:*:*:*:*:* confirms the advisory covers all HugeGraph releases prior to the fixed version rather than a single artifact, and the affected code lives in the hugegraph-pd / hg-pd-core module (KVOperation, RaftEngine, new IpAuthHandler).

RemediationAI

Vendor-released patch: upgrade to Apache HugeGraph 1.7.0, which fully remediates the issue by adding the IP-based Raft authentication handler and the Hessian class whitelist (see https://github.com/apache/incubator-hugegraph/pull/2735 and the advisory at https://lists.apache.org/thread/ko8jkwbjbb99m45pg4sgo5xsm8gx9nsq). If an immediate upgrade is not possible, the actionable compensating control is to isolate the PD Raft/Bolt RPC port so that only legitimate peer IPs can reach it - enforce host firewall rules or network policy/security groups restricting inbound traffic to the configured Raft peer list, and bind the Raft address to the internal cluster interface rather than a publicly reachable one; the trade-off is that strict IP allow-listing breaks dynamic cluster scaling, peer IP changes, or multi-AZ/cross-subnet topologies, so the allow-list must be updated whenever membership changes. Backporting the IpAuthHandler and HugegraphHessianSerializerFactory classes from the 1.7.0 branch into older releases is a viable stopgap for teams that cannot upgrade, but note that enabling the strict class whitelist can break plugins or custom state-machine commands that serialize non-whitelisted types, so those must be validated in a staging cluster first; there is no vendor-released patch for versions below 1.7.0 other than that upstream fix.

Share

CVE-2025-26866 vulnerability details – vuln.today

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