[OSSA-2026-017] Boot Script Injection via Unsanitized Kernel Parameters (CVE-2026-46447)
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| Ironic |
Fix Released
|
Critical
|
Clif Houck | ||
| OpenStack Security Advisory |
Fix Released
|
Undecided
|
Jay Faulkner | ||
Bug Description
Tuomo Tanskanen (Ericsson Software Technology) and Dmitry Tantsur (Red Hat) from the Metal3.io security team have discovered a potential issue in Ironic using an AI-based security analysis tool. Here is the generated report followed by a review by the submitter.
## Original report
- **Verdict**: CONFIRMED
- **Original Severity**: Inferred: High
- **Reviewer Severity**: Medium
- **CVSS 3.1**: 6.0 (CVSS:3.
- **CVSS 4.0**:
(CVSS:
- **Priority**: P3-MEDIUM
- **Review Confidence**: Medium
### Triage Validation
- **Root Cause**: Verified. Unsanitized user-controlled values from
`instance_info` are interpolated into PXE/iPXE boot templates.
- **Attack Vector**: Verified. Project users can inject newlines/control
characters via `kernel_
- **Impact**: Verified. Can redirect boot to attacker-controlled kernel/initrd
or leak embedded secrets.
- **Architecture Check**: Compatible with deployment topology
### FP Argument Considered
Boot parameters inherently contain user-provided data. However, newline/control
character injection should be prevented.
### Assessment
- **Exploitability**: Requires setting instance_info fields with control
characters.
- **Blast Radius**: Compromised boot for targeted nodes.
- **Deployment Context**: Affects PXE-based deployments.
### Recommended Fix Evaluation
- **Feasibility**: Feasible. Strip/reject control characters in boot parameters.
- **Side Effects**: Legitimate kernel parameters don't contain newlines.
- **Refined Guidance**: Researcher recommendation is sound.
## Review by dtantsur
The crux of the problem is injecting arbitrary iPXE commands. I assume something like this:
kernel_
initrd http://
initrd http://
boot
"""
will cause a malicious cpio to be included in the IPA context, i.e. with access to agent token and to the provisioning network. It's probably not a huge vulnerability, but we probably don't want users to inject anything to IPA.
The easiest fix is, as advised, to disallow newlines.
However, I'm also second-guessing the need to have kernel_
CVE References
| description: | updated |
| information type: | Private Security → Public Security |
| summary: |
- [OSSA-2026-PENDING] Boot Script Injection via Unsanitized Kernel - Parameters (CVE-2026-46447) + [OSSA-2026-017] Boot Script Injection via Unsanitized Kernel Parameters + (CVE-2026-46447) |

Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security
reviewers for the affected project or projects confirm the bug and
discuss the scope of any vulnerability along with potential
solutions.