fix(supply-chain): VEX CVE-2026-15308 for aiperf-bench - #1736
Merged
Conversation
html.parser.HTMLParser CPU-DoS (PSF-2026-33) is unreachable in the aiperf-bench workload: aiperf v0.7.0 has zero html.parser/HTMLParser imports and the profile subcommand exchanges only JSON over HTTP. No released CPython contains the fix yet (3.13 backport merged 2026-07-04, after v3.13.14), so a base-image bump cannot remediate. Verified with grype v0.110.0 (scan-action pin): CVE-2026-15308 moves to ignoredMatches under the vex namespace; zero surviving CI-reported HIGH. Signed-off-by: Mark Chmarny <mark@chmarny.com>
Contributor
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughUpdated Estimated code review effort: 1 (Trivial) | ~3 minutes 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Contributor
Coverage Report ✅
Coverage BadgeNo Go source files changed in this PR. |
mohityadav8
pushed a commit
to mohityadav8/aicr
that referenced
this pull request
Jul 14, 2026
Signed-off-by: Mark Chmarny <mark@chmarny.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add an OpenVEX
not_affectedstatement for CVE-2026-15308 (CPythonhtml.parser.HTMLParserCPU-exhaustion DoS, PSF-2026-33) on the aiperf-bench image, clearing the HIGH finding from the 2026-07-13 Daily Image Vulnerability Scan.Motivation / Context
The 2026-07-13 daily scan reports
aiperf-bench: 1 high — python CVE-2026-15308. A remediation bump is not possible: the fix merged to the cpython 3.13 branch on 2026-07-04 (python/cpython#153040), but no released CPython contains it — v3.13.14 (2026-06-10), v3.14.6, and v3.15.0b3 all predate the merge, so nopython:3.13-slimrebuild can pick it up yet.Reachability evidence: the trigger requires incrementally feeding attacker-controlled HTML with repeated unterminated markup declarations into
HTMLParser.feed(). aiperf v0.7.0 source (PyPI sdist) contains zero references tohtml.parser,HTMLParser, or anyhtmlstdlib import (grep -rn -E 'html\.parser|HTMLParser|^(import|from) html'— no hits), and the AICR workload (aiperf profilepervalidators/performance/inference_perf_constraint.go) exchanges only JSON over HTTP.Fixes: N/A
Related: N/A
Type of Change
Component(s) Affected
.openvex.json)Implementation Notes
pkg:oci/aicr-aiperf-bench,pkg:oci/aiperf-bench), grype primary ID (CVE-2026-15308, per the scan artifact HIGH+ line), OpenVEX v0.2.0 justificationvulnerable_code_not_in_execute_path, documentversion6→7 andtimestamprefreshed.Testing
CVE-2026-15308 moves from
matches[]toignoredMatches[]withappliedIgnoreRules[].namespace == "vex"(7 vex rules applied total, including all pre-existing aiperf-bench statements).python3 -m json.tool .openvex.jsonpasses. No Go/YAML changes.Note: a fresh local rebuild also surfaces HIGHs not present in the published image CI scans (newer base digest: Debian trixie openssl 3.5.6, python CVE-2026-9669, starlette GHSA-82w8-qh3p-5jfq from unpinned transitive pips) — those will need triage when the image is next rebuilt/published, and are out of scope here.
Risk Assessment
Rollout notes: N/A — consumed by the next daily scan run.
Checklist
make testwith-race) — N/A: no Go changes; no test gates.openvex.jsonmake lint) — N/A: no Go/YAML changes; JSON validated withpython3 -m json.toolgit commit -S) — GPG signing info