|
3 | 3 | "@id": "https://github.com/NVIDIA/aicr/.openvex.json", |
4 | 4 | "author": "NVIDIA AICR maintainers", |
5 | 5 | "role": "document creator", |
6 | | - "timestamp": "2026-07-09T00:00:00Z", |
7 | | - "version": 6, |
| 6 | + "timestamp": "2026-07-13T00:00:00Z", |
| 7 | + "version": 7, |
8 | 8 | "tooling": "manual; aiperf-bench statements verified against aiperf v0.7.0 source; aicr statement reachability verified by source inspection (CGO-free ko build, no libssl linkage); aicr-gate statements suppress CVEs in the embedded upstream kyverno/chainsaw binary (affected packages identified via vuln.go.dev), justified by chainsaw's ephemeral cluster-internal readiness-gate usage", |
9 | 9 | "statements": [ |
10 | 10 | { |
|
306 | 306 | "justification": "vulnerable_code_not_in_execute_path", |
307 | 307 | "impact_statement": "The attack requires parsing a crafted (attacker-controlled) XML document through xml.parsers.expat or xml.etree.ElementTree to trigger hash flooding. AICR invokes aiperf-bench exclusively as `aiperf profile <text-LLM> --url <endpoint>` (validators/performance/inference_perf_constraint.go). That subcommand communicates with the inference endpoint via JSON over HTTP only; all data transport uses aiohttp + orjson/msgspec. aiperf v0.7.0's declared dependencies contain no XML parsing libraries \u2014 the runtime stack (aiohttp, msgspec, orjson, numpy, transformers, uvicorn, fastapi) is entirely JSON/binary-based. While xml.parsers.expat is present in the Python 3.13 stdlib image, no attacker-controlled XML document can enter the aiperf profile execution path, making the hash-flooding trigger unreachable." |
308 | 308 | }, |
| 309 | + { |
| 310 | + "vulnerability": { |
| 311 | + "name": "CVE-2026-15308", |
| 312 | + "description": "cpython CPU-exhaustion DoS in html.parser.HTMLParser incremental feed() via repeated unterminated markup declarations (PSF-2026-33, CWE-407, High CVSS 7.5/8.7). Fix merged to the cpython 3.13 branch on 2026-07-04 (PR #153040) but as of 2026-07-13 no released CPython contains it — v3.13.14 (2026-06-10), v3.14.6, and v3.15.0b3 all predate the fix, so no base-image bump can remediate yet." |
| 313 | + }, |
| 314 | + "products": [ |
| 315 | + { |
| 316 | + "@id": "pkg:oci/aicr-aiperf-bench", |
| 317 | + "identifiers": { |
| 318 | + "purl": "pkg:oci/aicr-aiperf-bench" |
| 319 | + } |
| 320 | + }, |
| 321 | + { |
| 322 | + "@id": "pkg:oci/aiperf-bench", |
| 323 | + "identifiers": { |
| 324 | + "purl": "pkg:oci/aiperf-bench" |
| 325 | + } |
| 326 | + } |
| 327 | + ], |
| 328 | + "status": "not_affected", |
| 329 | + "justification": "vulnerable_code_not_in_execute_path", |
| 330 | + "impact_statement": "The trigger requires incrementally feeding attacker-controlled HTML containing repeated unterminated markup declarations into html.parser.HTMLParser.feed(). aiperf v0.7.0 source contains zero references to html.parser, HTMLParser, or any html stdlib import (verified with `grep -rn -E 'html\\.parser|HTMLParser|^(import|from) html'` against the PyPI sdist — no hits). AICR invokes aiperf-bench exclusively as `aiperf profile <text-LLM> --url <endpoint>` (validators/performance/inference_perf_constraint.go); the workload exchanges only JSON over HTTP via aiohttp + msgspec/orjson and never parses HTML documents from the inference endpoint or any other source. No attacker-controlled markup can reach the vulnerable parser, so the quadratic-complexity code path is unreachable." |
| 331 | + }, |
309 | 332 | { |
310 | 333 | "vulnerability": { |
311 | 334 | "name": "CVE-2026-45447", |
|
0 commit comments