CVE-2026-114691: libstdc++ (GCC): vector<bool> integer wrap causes DoS
MEDIUMA flaw in GCC's libstdc++ lets an oversized element count passed to a std::vector<bool> constructor wrap an integer during memory sizing (CWE-190). The container is left inconsistent, which causes out-of-bounds access and, in practice, a crash. It is rated medium (CVSS 5.9, high attack complexity, availability impact only) and is not in CISA KEV. EPSS and SSVC data are not yet available, and no public exploit or Nuclei template exists. Exposure comes through Red Hat's builds: the advisory lists dozens of Red Hat OpenShift AI (rhoai/odh-*) container images, including KServe controllers, MLflow, model registry and the dashboard, plus the OpenShift CoreOS images. These images are rebuilt from the affected toolchain and all need the fix. Exploitation requires an attacker-controlled size to reach a vector<bool> constructor in native C++ code, so most deployments are unlikely to be reachable. Track the Red Hat advisory, rebuild or update the affected images once patched packages ship, and prioritize internet-facing model-serving and gateway components. Fix versions are not yet published (patched ranges are N/A).
What is the risk?
Low-to-medium. The CVSS 5.9 score reflects network reachability but high complexity, because the attacker must control a size value reaching a vector<bool> constructor in compiled code. There is no confidentiality or integrity impact, only availability. There is no known exploitation, no public PoC and no KEV listing. The package risk score of 81/100, 695 dependents and OpenSSF Scorecard 5.4/10 indicate a broad blast radius for rebuilds rather than a likely attack. EPSS is N/A, so the exploitation likelihood is unquantified.
How does the attack unfold?
What systems are affected?
How severe is it?
What is the attack surface?
What should I do?
1 step1) Monitor the Red Hat advisory (access.redhat.com/security/cve/CVE-2026-114691) and Bugzilla 2478508 for patched gcc, gcc-toolset and OpenShift AI image releases, and apply them as soon as they are available. 2) Inventory containers and binaries built with the listed gcc and gcc-toolset versions, and rebuild them against the fixed libstdc++. 3) Review native code that builds std::vector<bool> from externally supplied sizes and add upper-bound validation on counts. 4) Run model-serving and operator pods with restart policies, resource limits and health checks to limit crash impact. 5) Detect repeated pod crashes, segfaults or OOM-style restarts on inference and gateway workloads, and alert on requests carrying abnormally large size or count parameters.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-114691?
A flaw in GCC's libstdc++ lets an oversized element count passed to a std::vector<bool> constructor wrap an integer during memory sizing (CWE-190). The container is left inconsistent, which causes out-of-bounds access and, in practice, a crash. It is rated medium (CVSS 5.9, high attack complexity, availability impact only) and is not in CISA KEV. EPSS and SSVC data are not yet available, and no public exploit or Nuclei template exists. Exposure comes through Red Hat's builds: the advisory lists dozens of Red Hat OpenShift AI (rhoai/odh-*) container images, including KServe controllers, MLflow, model registry and the dashboard, plus the OpenShift CoreOS images. These images are rebuilt from the affected toolchain and all need the fix. Exploitation requires an attacker-controlled size to reach a vector<bool> constructor in native C++ code, so most deployments are unlikely to be reachable. Track the Red Hat advisory, rebuild or update the affected images once patched packages ship, and prioritize internet-facing model-serving and gateway components. Fix versions are not yet published (patched ranges are N/A).
Is CVE-2026-114691 actively exploited?
No confirmed active exploitation of CVE-2026-114691 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-114691?
1) Monitor the Red Hat advisory (access.redhat.com/security/cve/CVE-2026-114691) and Bugzilla 2478508 for patched gcc, gcc-toolset and OpenShift AI image releases, and apply them as soon as they are available. 2) Inventory containers and binaries built with the listed gcc and gcc-toolset versions, and rebuild them against the fixed libstdc++. 3) Review native code that builds std::vector<bool> from externally supplied sizes and add upper-bound validation on counts. 4) Run model-serving and operator pods with restart policies, resource limits and health checks to limit crash impact. 5) Detect repeated pod crashes, segfaults or OOM-style restarts on inference and gateway workloads, and alert on requests carrying abnormally large size or count parameters.
What systems are affected by CVE-2026-114691?
This vulnerability affects the following AI/ML architecture patterns: model serving, MLOps platforms, training pipelines, containerized AI platforms (OpenShift AI), model registries.
What is the CVSS score for CVE-2026-114691?
CVE-2026-114691 has a CVSS v3.1 base score of 5.9 (MEDIUM).
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0029Denial of AI ServiceAML.T0049Exploit Public-Facing ApplicationCompliance Controls Affected
What are the technical details?
Original Advisory
A flaw was found in the libstdc++ component of GCC. An attacker who can provide an excessively large element count to a boolean vector (std::vector<bool>) constructor can trigger an integer wrap during internal memory calculations. This issue leaves the container in an inconsistent state, leading to out-of-bounds memory access and resulting in an application crash or a Denial of Service (DoS) during subsequent operations.
Exploitation Scenario
An attacker finds a network-exposed model-serving or gateway component, built on an affected libstdc++, that passes a client-supplied count into a vector<bool> constructor, for example a mask or batch-size parameter. They send a request with an extreme element count that triggers the integer wrap. The container ends up in an inconsistent state, and later operations read or write out of bounds, crashing the process. Repeating the request keeps the inference endpoint or operator unavailable until it is patched or the input is filtered.
Weaknesses (CWE)
CWE-190 — Integer Overflow or Wraparound: The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.
- [Requirements] Ensure that all protocols are strictly defined, such that all out-of-bounds behavior can be identified simply, and require strict conformance to the protocol.
- [Requirements] Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. If possible, choose a language or compiler that performs automatic bounds checking.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
- access.redhat.com/security/cve/CVE-2026-114691vdb-entryx_refsource_REDHAT
- bugzilla.redhat.com/show_bug.cgiissue-trackingx_refsource_REDHAT
Timeline
Related Vulnerabilities
CVE-2025-1537910.0MLflow: RCE via unsanitized model dependency specs
Same package: mlflowCVE-2023-376510.0MLflow: path traversal allows arbitrary file read
Same package: mlflowCVE-2023-11779.8MLflow: path traversal allows arbitrary file read/write
Same package: mlflowCVE-2026-26359.8mlflow: security flaw enables exploitation
Same package: mlflowCVE-2023-27809.8MLflow: path traversal allows arbitrary file read/write
Same package: mlflow