[AutoPR- Security] Patch qemu for CVE-2026-3196 [MEDIUM]#17879
Conversation
mfrw
left a comment
There was a problem hiding this comment.
LGTM ✅ — faithful backport of the upstream fix, spec hygiene clean, and the buddy build is green on both arches including qemu's %check.
Patch fidelity — ✅ matches upstream
SPECS/qemu/CVE-2026-3196.patch is byte-for-byte identical (modulo expected base drift) to upstream qemu d84fbf24 (cherry-picked from 61679d7, by Manos Pitsidianakis, Reviewed-by: mst) — the fix for VIRTIO spec §5.14.6.2 in virtio_snd_handle_pcm_info:
- both added guards match exactly: the
start_id + count > s->snd_conf.streamsbounds check, and theg_uint_checked_mul/g_uint_checked_addoverflow-guarded buffer-size check; - the only deltas vs upstream are the hunk offsets (
181/207vs156/179) and blob hashes — expected because the base is qemu 9.1.0, not upstream HEAD; - the preserved
/* TODO: do we need to set DEVICE_NEEDS_RESET? */context comment exists in the 9.1.0 base and is untouched — benign.
Spec hygiene — ✅ clean
Release: 9 → 10Patch33: CVE-2026-3196.patchdeclared in correct sequential order afterPatch32%changelogentry for9.1.0-10present and correct (date/author/CVE)- No source tarball change → no
*.signatures.jsonupdate needed
Build / CI — buddy build buildId=1151905 (Run 20260702.3) — 237 succeeded / 10 skipped / 0 failed
| Stage | AMD64 | ARM64 |
|---|---|---|
Build qemu-9.1.0-10.azl3 RPMs |
✅ succeeded | ✅ succeeded |
%check (package test) |
✅ EXIT STATUS 0 → Pass (631s) |
✅ EXIT STATUS 0 → Pass (445s) |
| Sodiff check (ABI/.so diff) | ✅ succeeded | ✅ succeeded |
| Toolchain build + postBuild | ✅ succeeded | ✅ succeeded |
sdl_sources |
✅ succeeded | — |
All GitHub PR checks green; merge checklist ticked in the PR body.
Non-blocking note
tmp is only ever written (as the output arg of the g_uint_checked_* helpers) and never read — its sole purpose is overflow detection via short-circuit, and the final comparison recomputes sizeof(virtio_snd_hdr) + size * count. This is intentional and identical to upstream; no -Wunused-but-set-variable since it's passed by address and the build is warning-clean. Just flagging for completeness.
Signed-Off By: @mfrw
kgodara912
left a comment
There was a problem hiding this comment.
Patch matches with upstream reference. Buddy build is successful. LGTM.

Auto Patch qemu for CVE-2026-3196.
Autosec pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=1150719&view=results
Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
*-staticsubpackages, etc.) have had theirReleasetag incremented../cgmanifest.json,./toolkit/scripts/toolchain/cgmanifest.json,.github/workflows/cgmanifest.json)./LICENSES-AND-NOTICES/SPECS/data/licenses.json,./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md,./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)*.signatures.jsonfilessudo make go-tidy-allandsudo make go-test-coveragepassSummary
What does the PR accomplish, why was it needed?
Change Log
Does this affect the toolchain?
YES/NO
Associated issues
Links to CVEs
Test Methodology