CVE Intelligence
High Privilege escalation

CVE-2026-104795 — Insights-runtime-extractor: insights-runtime-extractor: container escape via privileged binary execution

The insights-runtime-extractor runs as a privileged DaemonSet (`hostPID: true`) that scans container processes for runtime fingerprinting. When scanning a container, the coordinator: 1. **fork()s** a child process 2. **setns()** into the target container's PID and mount namespaces 3. **fchdir()** back to an orphaned FD pointing at the extractor's own root filesystem (where `/crio.sock` is hostPath-mounted) 4. Calls **only `seteuid(target_uid)`** — changing the effective UID but leaving the **real UID and saved-set-UID at 0** and **retaining the permitted capability set** 5. The `check_no_privileged_perms()` guard inspects only the Effective capability set (so it passes), and is **skipped entirely when the target runs as uid 0** 6. The `VersionExecutable` fingerprint invokes `fpr_kind_executable` with `process.command_line[0]` — the target's argv[0], read from `/proc/<pid>/cmdline` and **fully controlled by the workload** 7. `fpr_kind_executable` calls `exec.Command(executable, "--version").Output()` — executing the **workload's own binary** inside the workload's mount namespace while **ruid=0 in the host user namespace** The executed process can call `setuid(0)` to restore full root with `CAP_SYS_ADMIN`, and inherits the orphaned cwd which resolves into the extractor container's filesystem containing the host CRI-O socket. ## Affected Code ### 1. Insufficient privilege drop (Rust — extractor coordinator) **File:** `extractor/src/insights_runtime_extractor.rs` ```rust // Lines 139-146 — seteuid-only drop, guard skipped for root containers join_process_namespaces(process.pid)?; change_dir(current_dir); switch_user(*process.uid)?; if *process.uid != 0 { perms::check_no_privileged_perms() .expect("Must not have privileged permissions to run fingerprints"); } fingerprint::run_fingerprints(&config, out_dir, &process); ``` ```rust // Lines 182-185 — only effective UID changed; ruid/suid stay 0 fn switch_user(uid: u32) -> Result<(), ScannerError> { debug!("... Becoming user: {uid}"); seteuid(uid.into()).map_err(|e| ScannerError::Errno(e)) } ``` ### 2. Execution of untrusted binary (Go — fingerprint) **File:** `fingerprints/pkg/utils/file.go` ```go // Lines 75-80 — executes a path taken verbatim from workload's argv[0] func GetExecutableVersionOutput(executable string) (string, error) { out, err := exec.Command(executable, "--version").Output() if err != nil { return "", err } return string(out), nil } ``` ### 3. Workload-controlled path forwarded (Rust — version_executable) **File:** `version_executable.rs` ```rust // Lines 29-34 — workload-controlled command_line[0] forwarded to fingerprint return Some(vec![ fpr_kind_executable, out_dir.to_string(), String::from(&process.command_line[0]), String::from(&version_executable.runtime_kind_name), ]); ``` ## Attack Pattern **Attacker:** Any tenant able to schedule a pod (unprivileged, any namespace) **Victim:** The node running the insights-runtime-extractor DaemonSet **Trigger:** Automatic — the DaemonSet scans all container processes on the node **Attack sequence:** 1. Attacker creates a pod whose process name matches a configured versioned-executable pattern (`node`, `python`, `python3`, `MainThread`, or contains `java`) 2. The pod's main binary (at the path matching argv[0]) is a malicious executable that calls `setuid(0)` to restore root 3. When the insights operator triggers a scan, the DaemonSet forks, enters the attacker's mount namespace, and executes the attacker's binary with ruid=0 4. The attacker's code regains full root with `CAP_SYS_ADMIN` in the host user namespace 5. The inherited cwd contains the host CRI-O socket → full node compromise

Published Oct 14, 2026 · Updated Oct 15, 2026 · Sources: NIST National Vulnerability Database, CVE Program (cve.org) e CISA ADP, GitHub Security Advisories · CNA: redhat

Who exploits it and how urgent it is

A 0–100 score combining confirmed exploitation, ransomware and APT use, public exploits, EPSS and severity.

No exploitation signal in the sources consulted so far.
How the score was calculated
  • EPSS 0.2% (30-day exploitation probability)+1
  • Technical severity (high)+6

The score orders the patch queue; it does not replace your asset context (internet exposure, criticality, compensating controls).

Triage

Is it exploited, how likely is exploitation, what does it touch, and how severe do the sources call it.

Exploitation
Not confirmed
Not in CISA KEV — an absence of record, not proof it is unexploited.
EPSS FIRST
0.17%
ahead of 5% of scored CVEs · Oct 15, 2026
Affects
Red Hat
Red Hat OpenShift Container Platform 4
CVSS base
8.8
High · 3 source(s)

CISA SSVC assessment CISA

Three decision points CISA publishes for the CVEs it assesses (SSVC 2.0.3). A stakeholder decision, not a severity score.

Exploitation
None
none · proof-of-concept · active
Automatable
No
can an attacker script the kill-chain steps
Technical impact
Total
partial · total control of the vulnerable component

Remediation

Fixes and mitigations documented by the sources — linked to the original advisory.

No fix documented by the sources we poll. That does not mean none exists: check the vendor advisory.

First 24 hours

Ordered from the record’s own fields — exposure first, because you cannot patch what you have not found. A rule-generated starting point.

  1. Identify exposed assets running the affected vendor/product/version combinations (Red Hat Red Hat OpenShift Container Platform 4).
  2. No fix documented in the sources: reduce exposure and monitor the vendor advisory.
  3. Search available logs for exploit probes matching the vulnerability class (privilege escalation), errors and authentication anomalies.

Affected scope

Vendor, product and versions as the sources word them.

VendorProductVersionsStatusSource
Red Hat Red Hat OpenShift Container Platform 4 versions not specified by the source Vulnerable CVE Program (cve.org) e CISA ADP

Attack characteristics

The CVSS vector, decoded. It describes the attack, not your exposure to it.

Attack vector
Local
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Every base score collected

Sources score independently and may disagree; each row says who scored it and under which version.

ScoreVersionSeverityExpl.ImpactScored by
8.8 CVSS 3.1 High 2.0 6.0 secalert@redhat.com via NIST National Vulnerability Database
8.8 CVSS 3.1 High — — GitHub, Inc. via GitHub Security Advisories
8.8 CVSS 3.1 High — — redhat via CVE Program (cve.org) e CISA ADP
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H (score shown at the top: secalert@redhat.com)

Weakness MITRE

Weakness class according to MITRE’s CWE catalog.

CWE-250 · Execution with Unnecessary Privileges

Other CVEs with this weakness →

Detection

Read off the CVSS vector and the weakness class. Starting points, not tested rules.

  • Local/physical vector: focus on endpoint telemetry (EDR) from affected hosts.
endpoint telemetry (EDR)

Timeline

What happened to this CVE, newest first.

  • 2026
  • Source status changed · Received → Awaiting Analysis
    Oct 15, 2026 · NIST National Vulnerability Database
  • SSVC assessment updated
    Oct 14, 2026 · CVE Program (cve.org) e CISA ADP
  • Affected products added · red hat/red hat openshift container platform 4
    Oct 14, 2026 · CVE Program (cve.org) e CISA ADP
  • Record published
    Oct 14, 2026
  • CVSS changed · 8.8
    Oct 14, 2026 · NIST National Vulnerability Database
  • Source status changed · → Received
    Oct 14, 2026 · NIST National Vulnerability Database
  • Record created in this database
    Oct 14, 2026 · Alertas do Telegram
  • CVE published
    Oct 14, 2026 · redhat

Source activity

Repeated readings are counted rather than listed.

  • 2× References added · Oct 14, 2026 – Oct 15, 2026
  • 1× Official description updated · Oct 14, 2026 – Oct 14, 2026

References

4 on the record

Elsewhere on this site

Red Hat
every CVE for this vendor
CWE-250
other pages naming this weakness

Related CVEs (same products)

  • High CVE-2026-92982 Ansible-operator-plugins: ansible operator plugins: arbitrary code execution via jinja2 template injection 1h
  • Medium CVE-2026-110924 Openssh: openssh: gssapi delegated credentials can be stored after a failed authentication 3h
  • Medium CVE-2026-110927 Openssh: openssh: a compressed payload can expand past the maximum packet size 3h
  • Medium CVE-2026-110923 Openssh: openssh: sftp can write outside the destination directory from a server-supplied path 11h
  • Medium CVE-2026-110925 Openssh: openssh: '$' and '\' in a command-line username expand through %u 11h
  • Medium CVE-2026-110926 Openssh: openssh: shared lz77 compression dictionary leaks plaintext across channels 11h

Not in any source we poll

Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.

  • No fixed version, patch or mitigation documented.
  • No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
  • No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
  • No exploit packet captures, log samples, or incident case IDs supplied.

Answered from this record

Text assembled only from the fields above — no additional claims.

What should defenders know first?

CVE-2026-104795 is "Insights-runtime-extractor: insights-runtime-extractor: container escape via privileged binary execution", rated High. It affects Red Hat OpenShift Container Platform 4 (Red Hat); versions are in the scope table. It is not in CISA KEV, which does not rule out exploitation. CVSS 8.8 describes technical severity. EPSS 0.17% estimates the probability of exploitation in 30 days; neither replaces your asset context. First verify whether exposed or business-critical assets run the affected versions, apply vendor fixes or mitigations, and preserve logs for review.

Comments

Moderated technical discussion. Read the community guidelines.

No comments yet.

Sign in or create an account to comment and suggest corrections.