2026-07-29 · view entry permalink →
CVE-2025-15467, Siemens Desigo CC: a vendored OpenSSL CMS parsing overflow gives pre-auth code execution, and the V7 family still has no fix (CVSS 9.8)
The Desigo CC flaw is a vendored-dependency problem with an unusually clean exploitation precondition. When OpenSSL parses a CMS AuthEnvelopedData structure that names an AEAD cipher, the initialisation vector encoded in the ASN.1 parameters is copied into a fixed-size stack buffer without checking that the encoded length fits the destination, so an oversized IV produces a stack out-of-bounds write (Siemens ProductCERT, 2026-07-14); OpenSSL's own advisory confirms the flaw sits in CMS AuthEnvelopedData parsing and rates it High, and states that OpenSSL 3.6, 3.5, 3.4, 3.3 and 3.0 are vulnerable while 1.1.1 and 1.0.2 are not (OpenSSL, 2026-01-27). The load-bearing detail for defenders is when the overflow fires: it happens during length parsing, before the AEAD tag is verified, so an attacker needs no valid key material and no credential; only a path by which the process is handed a crafted CMS or S/MIME message. Siemens is affected because Desigo CC, its building-management platform, vendors the library for that parsing path, and a public command-execution proof-of-concept for the underlying OpenSSL flaw is already published, though it achieves a shell against a build compiled with stack protection and fortification disabled and ASLR off, and OpenSSL's own advisory notes that exploitability to remote code execution depends on platform and toolchain mitigations (guiimoraes, 2026-07-28; OpenSSL, 2026-01-27).
The remediation picture is where this stops being routine. Siemens' structured advisory splits the product line three ways: family V9 is fixed at 9.0.1, family V8 is fixed by patch V8.0 QU2.0021, and family V7 (all versions) carries the remediation category none_available with the plain text "Currently no fix is available" (Siemens ProductCERT, 2026-07-14). A pre-authentication memory-corruption bug with public exploit code and no vendor patch, in software that runs heating, ventilation, access control and life-safety integration for real buildings, is not something a quarterly maintenance window addresses. For any V7 estate the only available control is the network position: Siemens points to its own segmentation guidance, which in practice means the Desigo CC server should be unreachable from any network that can hand it untrusted certificate or message content.
A same-day Siemens advisory on Mendix Runtime (SSA-814963, CVE-2026-7891) that this entry first carried alongside Desigo CC has since been revoked, and its CVE rejected, as set out in the update below (Siemens ProductCERT, revised 2026-09-22).
Detection: for Desigo CC the honest observable is thin, because a pre-auth memory-corruption attempt against a vendored parser leaves little application-level trace; the telemetry class to watch is process-crash and crash-dump events on hosts running Desigo CC server components, correlated in time with inbound content that would reach a CMS, PKCS#7 or S/MIME parsing path, since a failed overflow attempt is far more likely to crash the process than a successful one is to log anything.
Stack buffer overflow in CMS AuthEnvelopedData parsing (CVE-2025-15467)
Severity: High
Currently no fix is available
Update to patch V8.0 QU2.0021
Revoked advisory as the CVE is rejected
Siemens has revoked the Mendix Runtime advisory this entry carried alongside Desigo CC. SSA-814963 now reads "Revoked advisory as the CVE is rejected": re-investigation confirmed that the reported behaviour is expected platform configuration and does not expose the protected application-specific attribute, CVE-2026-7891 has been retracted, and Mendix Runtime is listed as known not affected (Siemens ProductCERT, revised 2026-09-22). CISA's republication carries the same revocation (CISA, ICSA-26-209-02, revised 2026-09-24). The Mendix access-control review this entry recommended is not needed on the strength of this advisory. The Desigo CC advisory is unchanged: V9 is fixed in 9.0.1, V8 in patch V8.0 QU2.0021, and the V7 family still has no fix.