DF-5332 / manifest.json
{ "finding_id": "DF-5332", "title": "chgetelemstatus() READ ELEMENT STATUS buffers kmalloc'd without M_ZERO; short-but-GOOD transfers disclose stale kernel heap via CHIOGSTATUS copyout", "verdict": "reproduced", "impact": "leak", "confidence": "certain", "reproduce": { "build": "cd /root/df5332 && sh build.sh", "run": "cd /root/df5332 && sh run.sh (or: ./poc_chres 3 1 4; ./poc_chres 2 0 4)", "expected": "marked runs: 0x2x marker bytes in every returned changer_element_status (28 non-zero bytes/run); unmarked runs: natural stale-heap bytes (0xa0cf/0x805a/0xff...); console shows '[EVILCH] RES evil short: ... SENT=8B only'; patched kernel: 0 non-zero bytes everywhere" }, "kernel_refs": [ "sys/bus/cam/scsi/scsi_ch.c:1089", "sys/bus/cam/scsi/scsi_ch.c:1129", "sys/bus/cam/scsi/scsi_ch.c:1115-1122", "sys/bus/cam/scsi/scsi_ch.c:1156-1188", "sys/bus/cam/scsi/scsi_ch.c:984-1051", "sys/bus/cam/cam_periph.c:960-969" ], "artifacts": [ "README.md", "VERDICT.md", "evilcd3.c", "poc_chres.c", "build.sh", "run.sh", "build.log", "run.log", "run.2.log", "fixedA.log", "leak_sample.txt", "env.txt", "fix.diff", "manifest.json", "verdict.json" ] } |