/

CVE-2026-82384

Severity:

CRITICAL RISK

(9.8)

Unsafe Deserialization (CWE-502) in Apache Roller XML-RPC

CVE-2026-82384

Deferred

Vulnerability type

Category:

Unsafe Deserialization

CWE:

CWE-502

Impact:

Remote Code Execution

Severity:

CRITICAL RISK

(9.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Apache Roller 6.1.5 deserializes attacker-controlled data received through its XML-RPC endpoint before authentication is completed. An unauthenticated remote attacker may exploit this behavior to achieve remote code execution, including when the global XML-RPC feature is configured as disabled.

Affected context

The vulnerability occurs in Apache Roller's XML-RPC request-processing path when the endpoint accepts vendor extension types that are deserialized during parsing. Because the servlet is mapped unconditionally, deserialization may occur before authentication and before the global XML-RPC feature setting is honored, so the affected path may remain reachable without non-default configuration.

Exploit preconditions

  • Attack surface: Network-accessible Apache Roller XML-RPC endpoint
  • Required access: No authentication is required
  • Trigger point: XML-RPC request parsing and deserialization
  • Why exploitation is possible: Attacker-controlled bytes are interpreted as serialized objects before authentication and feature-state checks are applied

Why this happens

The underlying bug is the deserialization of untrusted input received through a remotely accessible protocol endpoint. Vendor extension types are accepted and converted into objects during request parsing without first establishing trust in the sender or restricting the permitted object types. This behavior maps to CWE-502: Deserialization of Untrusted Data, where serialized input can cause unintended object construction or code execution.

Potential impact

  • An unauthenticated attacker could execute arbitrary code in the Roller process context
  • The attacker may access, modify, or delete application data
  • Server credentials and configuration secrets could be exposed
  • The compromised host could be used for lateral movement or further attacks
  • Application availability and integrity could be affected

General mitigation guidance

Mitigation generally centers on removing unsafe deserialization from network-facing request paths and treating all serialized input as untrusted.

Common defensive patterns include:

  • Rejecting or disabling vendor extension types that are not required
  • Using allowlisted, type-restricted parsers and deserializers
  • Performing authentication and authorization before processing complex request content
  • Ensuring disabled protocol features prevent request parsing rather than only suppressing later operations
  • Applying least-privilege permissions to the application process
  • Restricting network exposure of XML-RPC endpoints through gateways or policy controls
  • Monitoring and limiting outbound and administrative capabilities from the application runtime

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis rules identifying deserialization of request-controlled bytes
  • Code review checks for protocol extension types and custom object constructors
  • Tests confirming authentication and feature-disable checks occur before parsing
  • Endpoint inventory and policy enforcement for unnecessary XML-RPC exposure
  • Runtime monitoring for unusual XML-RPC requests, process spawning, or unexpected outbound connections
  • Automated security review tools that flag unsafe deserialization APIs and unrestricted type resolution

Sources

SourceLink
github.comgithub.com/apache/roller/pull/171
lists.apache.orglists.apache.org/thread/21p1dh6x179gmcdpw84kkx9yclrdp410
openwall.comopenwall.com/lists/oss-security/2026/09/25/17

Frequently asked

questions

Yes. The affected XML-RPC endpoint can process attacker-controlled data over the network, and authentication is not required before deserialization occurs.

Not necessarily in the affected path. Because the servlet is mapped unconditionally, request parsing may still occur before the feature setting is enforced.

Prevent untrusted serialized data from reaching unrestricted object deserializers. Use allowlisted types, authenticate before parsing where practical, and ensure disabled endpoints reject requests before processing their contents.

Minimize network-facing protocol features, enforce strict parser and type policies, test security checks at the earliest request-processing stage, and run the application with least privilege.

Find out what's already
exploitable in your codebase.