CVE-2026-87874

Community.general: community.general: memcached cache plugin deserializes untrusted pickle data from memcached, enabling cache-poisoning remote code execution on the ansible controller

Published Sep 9, 2026 CVSS 3.1 · 8.1 High EPSS < 1% KEV · Not listed
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.

Remediation

Vendor Workaround

Bind memcached to localhost only (the plugin default, 127.0.0.1:11211) and never expose an unauthenticated memcached across a trust boundary; isolate the cache to the controller. Prefer the redis cache plugin (explicit JSON) or the jsonfile/yaml cache plugins where a shared/remote fact cache is required. Treat any host with write access to the fact-cache memcached as trusted to run code on the controller.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Redhat openstack Platform
Vendors & Products Redhat openstack Platform
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
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.
Title Community.general: community.general: memcached cache plugin deserializes untrusted pickle data from memcached, enabling cache-poisoning remote code execution on the ansible controller
First Time appeared Redhat
Redhat ceph Storage
Redhat openstack
Weaknesses CWE-502
CPEs cpe:/a:redhat:ceph_storage:5
cpe:/a:redhat:ceph_storage:9
cpe:/a:redhat:openstack:17.1
cpe:/a:redhat:openstack:18.0
Vendors & Products Redhat
Redhat ceph Storage
Redhat openstack
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
redhat
Published
Updated
Sep 10, 2026, 12:50 PM
Reserved
Sep 9, 2026, 1:36 PM
Status
Awaiting Analysis
Published
Sep 9, 2026, 5:17 PM
Modified
Sep 9, 2026, 8:13 PM
Severity
Moderate
Public date
Sep 9, 2026, 12:00 AM