DF-3729 / manifest.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | { "finding_id": "DF-3729", "title": "ciss_notify_rescan_logical: unbounded ndrives + unchecked LUN_TO_BUS/TARGET -> OOB heap read and write", "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT DragonFly 6.5-DEVELOPMENT #0: Thu Jul 2 06:02:54 UTC 2026 root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64", "code_hash": "789844f7cb96572c5997c2a9aab7e8a7237261bb22d4f29cb82d047714aabe84", "verdict": "REPRODUCED", "impact": "corruption", "confidence": "certain", "reproduce": { "build": "./build.sh", "run": "./run.sh", "expected": "baseline prints [BUG REPRODUCED] and exits 0; fixed replica prints [FIXED] with no bug marker" }, "kernel_refs": [ "sys/dev/raid/ciss/ciss.c:3866", "sys/dev/raid/ciss/ciss.c:3896", "sys/dev/raid/ciss/ciss.c:3899", "sys/dev/raid/ciss/ciss.c:3901", "sys/dev/raid/ciss/ciss.c:3906", "sys/dev/raid/ciss/ciss.c:1357", "sys/dev/raid/ciss/cissreg.h:509" ], "fix_status": "fixed", "artifacts": [ { "path": "harness.c", "type": "trigger-source", "desc": "faithful userspace replica of the cited kernel path (real macros/struct constants)" }, { "path": "build.sh", "type": "build-script", "desc": "cc -O2 (and -DFIXED replica)" }, { "path": "run.sh", "type": "run-script", "desc": "baseline + fixed runs with exit codes" }, { "path": "build.log", "type": "build-log", "desc": "full untrimmed guest compiler output" }, { "path": "run.log", "type": "run-log", "desc": "decisive run: baseline [BUG REPRODUCED] + fixed [FIXED]" }, { "path": "run.2.log", "type": "run-log", "desc": "repeat run (stability)" }, { "path": "run.3.log", "type": "run-log", "desc": "repeat run (stability)" }, { "path": "fix_run.log", "type": "run-log", "desc": "-DFIXED section (persist_fix reads this)" }, { "path": "VERDICT.md", "type": "verdict", "desc": "full narrative: mechanism, path:line, harness proof, fix" }, { "path": "fix.diff", "type": "suggested-fix", "desc": "clamp ndrives to CISS_MAX_LOGICAL and bounds-check bus/target in ciss_notify_rescan_logical (mirror ciss.c:1357)" }, { "path": "fix_apply.log", "type": "apply-log", "desc": "patch --dry-run on guest /usr/src (clean)" }, { "path": "fix_build.log", "type": "build-log", "desc": "ciss.ko rebuilt with all 7 pass-2 fixes at -Werror, link rc=0" }, { "path": "env.txt", "type": "environment", "desc": "guest uname, no-HW proof, module presence" }, { "path": "README.md", "type": "readme", "desc": "human reproduce doc" }, { "path": "manifest.json", "type": "manifest", "desc": "this file" }, { "path": "verdict.json", "type": "verdict", "desc": "machine verdict (persist_poc.py schema)" } ] } |