DF-3941 / manifest.json
{ "finding_id": "DF-3941", "title": "cxm(4) cxm_read() consumes the DMA ring unlocked: offset/buffer mismatch size_t underflow -> OOB kernel-heap read via read(2); desync reads leak uninitialized DMA buffers", "verdict": "inconclusive", "impact": "kernel-heap info leak ( Medium-class, hardware-gated )", "confidence": "likely", "reproduce": { "build": "cc -O2 -Wall -o /tmp/cxm_read_race cxm_read_race.c", "run": "/tmp/cxm_read_race", "expected": "On CX23416 hardware: racing forked readers trigger ring desync; read() returns non-MPEG kernel-heap data. On the audit guest (no such PCI device): open() = ENOENT (documented in run.log)." }, "kernel_refs": [ "sys/dev/video/cxm/cxm.c:2211", "sys/dev/video/cxm/cxm.c:2244", "sys/dev/video/cxm/cxm.c:2262", "sys/dev/video/cxm/cxm.c:2270", "sys/dev/video/cxm/cxm.c:2276", "sys/dev/video/cxm/cxm.c:2290", "sys/dev/video/cxm/cxm.c:1119", "sys/dev/video/cxm/cxm.c:2158", "sys/dev/video/cxm/cxm.c:1885", "sys/dev/video/cxm/cxm.c:1806", "sys/dev/video/cxm/cxm.h:74" ], "artifacts": [ "cxm_read_race.c", "build.sh", "run.sh", "build.log", "run.log", "env.txt", "fix.diff", "fix_build.log", "VERDICT.md", "README.md", "verdict.json", "manifest.json" ] } |