Sceawere

Vulnerability Detail

CVE-2026-87874UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV

Ansible Cache Plugin Pickle RCE

Vulnerability Metadata

Severity
High
Score / CVSS
8.1
Creation Date
1d ago
Vendor
Red Hat
Product
Red Hat Ceph Storage 5
Attack Type
Deserialization of Untrusted Data
Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Complexity
HIGH

Narrative and Response

Description

A flaw was found in the memcached cache plugin of the community.general Ansible collection. Although its documentation states that records are stored in JSON format, the plugin performs no explicit serialization and relies on python-memcached, which pickles values on write and unpickles them on read. Because memcached is unauthenticated and cache keys are predictable, an attacker able to reach a network-exposed or shared memcached instance can write a crafted pickle payload that is deserialized and executed on the Ansible controller when the poisoned fact cache is next read, leading to remote code execution.

Executive Summary

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Executive Summary Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Technical Details

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Detailed Technical Analysis Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Mitigations

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Remediation & Mitigations Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

References

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Intelligence References Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Additional Metadata

{
  "score": "8.1",
  "pubDate": "2026-09-09T17:17:53.093Z",
  "pubdate": "2026-09-09T17:17:53.093Z",
  "executiveSummary": "A critical remote code execution (RCE) vulnerability exists within the memcached cache plugin of the community.general Ansible collection. The flaw originates from the insecure handling of data during cache retrieval, specifically the reliance on Python's pickle module for deserialization.\nThe vulnerability allows an unauthenticated, network-adjacent attacker to inject malicious serialized objects into a shared or exposed memcached instance. When the Ansible controller attempts to read the poisoned cache entry, the pickle module automatically deserializes the malicious payload, triggering arbitrary code execution on the controller node with the privileges of the Ansible process.\nThis represents a severe security risk, as successful exploitation facilitates full system compromise of the Ansible controller, potentially leading to unauthorized control over the entire managed infrastructure. The attack requires no authentication to the memcached service and exploits predictable cache keys to target specific Ansible executions.",
  "technicalDetails": "The root cause of this vulnerability is the implicit use of the pickle serialization protocol by the python-memcached library, which the community.general Ansible collection's memcached cache plugin utilizes without explicit sanitization or alternative serialization mechanisms like JSON.\nAlthough the plugin documentation erroneously claims to store records in JSON format, the underlying interaction with memcached results in objects being 'pickled' on write and 'unpickled' on read. Python's pickle module is inherently insecure when processing untrusted input because it can be instructed to instantiate arbitrary objects and execute callables during the deserialization process.\nThe attack flow proceeds as follows: 1) The attacker identifies a network-accessible memcached instance used by an Ansible controller, often exposed without authentication. 2) The attacker determines the predictable naming convention or keys used by the Ansible plugin to store facts. 3) The attacker injects a crafted pickle payload into the memcached key associated with the target Ansible controller. 4) The next time the Ansible controller executes and calls the memcached cache plugin to retrieve the fact cache, the python-memcached library automatically invokes pickle.loads() on the attacker-controlled data. 5) The deserialization process executes the embedded malicious code, resulting in immediate remote code execution on the controller host.\nThe vulnerability is exacerbated by the lack of integrity verification for cache entries. Because the memcached protocol does not provide native authentication or encryption, any entity with network access to the memcached server can manipulate the cache content. This allows an attacker to effectively poison the Ansible fact cache, providing a reliable vector for code execution whenever the controller performs read operations from the tainted cache. The impact is significant as it grants the attacker the same execution context as the Ansible controller, allowing for lateral movement, credential theft, and complete control over managed hosts."
}
CVE-2026-87874: Ansible Cache Plugin Pickle RCE (HIGH Severity, CVSS: 8.1) | Sceawere