← Back to Feed CACHED · 2026-11-03 10:39:11 · CACHE_KEY tenable:297064
tenable:297064 · CWE-787 · Disclosed 2026-01-29

RHEL 9 : openssl (RHSA-2026:1503)

Red Hat Enterprise Linux 9 OpenSSL CMS oversized IV RCE/DoS + CVE-2025-69419

ASSESSED — NOISGATE
Vendor
—
—
—
Reassessed
—
—
—
Verdict: —
Do you agree?
01 · The Real Story

A poisoned signed package turns signature verification into a memory corruption trap

The RHSA-2026:1503 update for RHEL 9 fixes two OpenSSL flaws. The serious one, CVE-2025-15467, allows remote code execution or denial of service via an oversized Initialization Vector when processing CMS/PKCS#7 data. Every RHEL 9 system with openssl-libs before the advisory fix is affected; the bug lives in the CMS parsing code, not the TLS handshake. CVE-2025-69419 is also fixed but receives less attention.

Tenable flags the plugin as Critical, while Red Hat classifies the advisory as Important. In reality, the severity depends on whether anything on the host actually feeds untrusted CMS data to OpenSSL. Default RHEL services rarely do; the exposed population is limited to mail gateways, S/MIME verification, file/doc processing pipelines and custom apps that call CMS_verify or CMS_decrypt on attacker-controlled input.

"RCE in OpenSSL CMS is real but not a TLS handshake flaw — patch quickly, but don't hit every RHEL host like a global emergency."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Deliver malicious CMS/PKCS#7 payload

Attacker crafts a CMS message with an oversized IV field. Delivery vector may be S/MIME email, an uploaded signed document, or a software update check. Target application must call OpenSSL CMS verification/decryption on the input.
Conditions required:
  • Attacker can send untrusted CMS/PKCS#7 data to a RHEL 9 service
  • Service uses vulnerable openssl-libs before RHSA-2026:1503
Where this breaks in practice:
  • CMS parsing is not part of standard TLS termination
  • Email/file upload pipelines must explicitly use OpenSSL CMS functions
Detection/coverage: Nessus plugin 297064 detects vulnerable packages locally; network scanners cannot see CMS exposure directly
STEP 02

Application passes data to vulnerable OpenSSL CMS function

The target application calls CMS_verify, CMS_decrypt, or SMIME_read_CMS on the attacker-supplied data. The vulnerable code path is reached before signature validation completes. No authentication is required beyond the ability to submit CMS data.
Conditions required:
  • Application must be built against affected OpenSSL 3.x on RHEL 9
  • CMS parsing enabled in the code path
Where this breaks in practice:
  • Many RHEL applications ship OpenSSL but never expose CMS entry points
  • Custom or niche apps are more likely than base OS daemons
Detection/coverage: EDR may observe abnormal OpenSSL calls if hooked; otherwise blind
STEP 03

Oversized IV triggers heap corruption during cipher context setup

OpenSSL trusts the IV length supplied in the CMS structure and writes past a heap buffer. The result is memory corruption; depending on layout and hardening, this yields a crash or potential code execution. Both outcomes are attacker-induced.
Conditions required:
  • Attacker controls the IV length field
  • Process layout permits deterministic overwrite
Where this breaks in practice:
  • ASLR/PIE/NX and compiler stack cookies make reliable RCE harder
  • SELinux enforcing on RHEL 9 can contain post-exploitation but not the initial crash/corruption
Detection/coverage: Crash telemetry, coredump monitoring, and EDR memory-protection alerts
STEP 04

Run code in the service's security context

If code execution is achieved, the attacker runs with the privileges of the CMS-processing service. A mail gateway that runs as root yields immediate server compromise; a least-privilege worker limits lateral movement. From there, attacker can pivot to internal mailboxes, file stores, or the underlying host.
Conditions required:
  • Successful RCE exploitation
  • Service account privileges allow useful post-exploitation
Where this breaks in practice:
  • Containerized or systemd service isolation may limit blast radius
  • SELinux can block many post-exploitation primitives
Detection/coverage: EDR, SELinux AVC denials, suspicious process ancestry, network egress monitoring
03 · Compensating Control

1
HIGH 7.8→IGNORE 0.0
SEVERITY REDUCED
Apply RHSA-2026:1503 openssl packages — Deploy within 30 days per noisgate mitigation SLA; remediation within 180 days. Patching removes the vulnerable CMS code and also covers CVE-2025-69419.
2
HIGH 7.8→MEDIUM 5.0
SEVERITY REDUCED
Disable CMS/SMIME processing on services that don't require it — For mail gateways or upload processors, block or quarantine CMS/PKCS#7 attachments until patch; review code paths. Deploy within 30 days.
3
HIGH 7.8→HIGH 7.5
Enforce SELinux enforcing and least-privilege service accounts — Confine CMS-processing services so RCE cannot immediately pivot to root or access sensitive files. Deploy before patch if possible.
4
HIGH 7.8→HIGH 7.5
Monitor crash telemetry and EDR for CMS-related anomalies — Use EDR and coredump analysis to detect exploitation attempts; configure alerts for OpenSSL crashes in CMS functions. Deploy immediately.
What doesn't work
  • WAF and TLS inspection don't help — CMS payloads are often delivered inside encrypted SMTP or file uploads, and this is not a web request flaw.
  • Disabling TLS/SSL won't mitigate — the vulnerable code is in CMS parsing, independent of transport encryption.
04 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo known exploitation; not in CISA KEV as of reassessment
PoC availabilityNo public PoC observed on pocindex.io or GitHub repos named for CVE-2025-15467
EPSSNo EPSS record for CVE-2025-15467 at reassessment; too new
KEV statusNot listed in CISA Known Exploited Vulnerabilities
CVSS vector / interpretationRed Hat advisory uses Important severity; Tenable plugin risk factor Critical. Treat as remote, unauthenticated in CMS-exposed services
Affected versionsRHEL 9 openssl-libs before RHSA-2026:1503 fixed packages; OpenSSL 3.x CMS code
Fixed versionsRHSA-2026:1503 packages; verify with dnf updateinfo or Red Hat advisory
Scanning/exposureLocal package check only; internet exposure not quantifiable via Shodan/Censys because CMS not advertised
Disclosure date2026-01-29 (OSV); Tenable plugin published 2026-01-28
Reported byNot attributed in available advisory data

Sources.

  1. ZEN SecDB Portal — Nessus plugin 297064
  2. OSV — RHSA-2026:1503
  3. Red Hat Errata — RHSA-2026:1503
  4. Red Hat CVE — CVE-2025-15467
  5. NVD — CVE-2025-15467
  6. CVE.org — CVE-2025-15467
  7. ZEN SecDB Portal — RHSA-2026:1503 advisory
05 · The Call

Final Verdict
↓ DOWNGRADED to HIGH (7.8/10)

Why this verdict

  • Friction audit: CMS parsing is not reached by default TLS services; most RHEL 9 hosts never call CMS_verify/CMS_decrypt on untrusted data.
  • Role multiplier: high-value deployments — secure email gateways, S/MIME verification, code-signing verification — do process untrusted CMS and can turn this into RCE; that keeps the floor at HIGH.
  • Exploitation status: no known in-the-wild use, no KEV listing, and no public PoC; treat as high risk but not an active campaign.
  • Compounding narrowing: attacker must find a CMS-consuming app, not just any TLS service; that reduces exposed population below the full RHEL install base.

Why not higher?

Even though OpenSSL is ubiquitous, this is not a TLS handshake or certificate verification flaw. The default attack surface on stock RHEL 9 is minimal because few base daemons parse CMS. ASLR/SELinux and lack of public exploit keep it below CRITICAL.

Why not lower?

A remote unauthenticated attacker who can reach a CMS-processing app gets memory corruption with RCE/DoS potential. OpenSSL is a dependency in security-sensitive paths; ignoring this because 'it's just CMS' would miss mail gateways and document processors that are high-value targets.

06 · Verification

Crowdsourced verification payload.

Run on each RHEL 9 host as root or via configuration management. Invoke with bash check_openssl_rhel9.sh; no arguments. It checks whether installed openssl-libs and openssl changelogs contain the fix IDs; returns exit 0 (PATCHED), 1 (VULNERABLE), 3 (UNKNOWN).

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/bin/bash
# Check for RHSA-2026:1503 (CVE-2025-15467, CVE-2025-69419)
pkg_list="openssl-libs openssl"
installed=0
found=0
for pkg in $pkg_list; do
  if rpm -q --quiet "$pkg"; then
    installed=$((installed+1))
    if rpm -q --changelog "$pkg" | grep -qE 'CVE-2025-15467|CVE-2025-69419'; then
      found=$((found+1))
    fi
  fi
done
if [ "$installed" -eq 0 ]; then
  echo "UNKNOWN"
  exit 3
fi
if [ "$found" -ge 1 ]; then
  echo "PATCHED"
  exit 0
else
  echo "VULNERABLE"
  exit 1
fi