IT SBIT Services
Schneeberger
DEEN
CVE tracker

Pulpcore: Expression language injection in header content guard

CVE-2026-123084Medium 6.5

← All vulnerabilities

Summary

The header content guard in Pulpcore stores a jq filter that runs against a request header. The filter can call jq's env function, which exposes the environment of the content process. A low-privileged user who may create a header content guard and attach it to a distribution can read this environment by repeating content requests. Secrets held there, such as the Django secret key or the database password, could be disclosed.

Affected

  • Pulpcore from 3.39.0, the release that added the header content guard (according to Red Hat). The exact affected range is unknown.
  • Red Hat Ansible Automation Platform 2.6 and 2.7: affected, rated Low (CVSS 4.3 for these versions).
  • Red Hat Satellite 6 and Red Hat Update Infrastructure 5: not affected according to Red Hat.
  • Other Red Hat product versions: status not confirmed, see the Red Hat CVE page.

Fixed in

Unknown. No fixed package version is confirmed in the sources reviewed.

Workaround

Red Hat is not aware of a practical temporary workaround that fully mitigates this issue.

Exploitation

No public exploit code or evidence of active exploitation was found in the sources reviewed. Exploitation requires an account allowed to create and attach content guards.

Our recommendation

  • Limit who can create or change content guards and attach them to distributions.
  • Audit existing header content guards and review any jq filters that cannot be justified.
  • If misuse is suspected, rotate the Django secret key and database credentials and review access logs.
  • Apply the Red Hat errata as soon as a fixed build is listed for your product.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 11 Nov 2026, 11:53.

Original description (NVD)

An **expression language injection** has been found in the HeaderContentGuard.permit function in publication.py of the content guard in the **Pulpcore** package. The guard is supposed to check a value in a request header. It saves a jq filter and runs that filter against the header when a client asks for content. The filter is not limited to the header, and jq's env builtin also returns the environment of the content process. A low-privileged network attacker or user who can create a header content guard and attach it to a distribution can save a filter that reads that environment. The content request is allowed or denied according to the filter result. Repeating the request lets that attacker or user recover the environment, including Pulp settings held there, such as the Django secret key or the database password.

NVD references (2)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.