DF-4363 / manifest.json
{ "finding_id": "DF-4363", "file": "sys/dev/raid/mps/mps_config.c", "title": "mps_config_get_man_pg10 allocates fixed 0x5C buffer but DMAs firmware PageLength*4 bytes into it - kernel heap overflow", "verdict": "reproduced", "impact": "panic", "reproduce": { "build": "cc -O2 -Wall -Wextra -o harness harness.c", "run": "./harness 24 ; ./harness 23 ; ./harness 255", "expected": "PageLength>=24 faults on guard page (4..928 bytes past the 92-byte allocation); PageLength=23 passes exactly; baseline exit 1 on overflow, fixed build (-DFIXED) exits 0 everywhere" }, "kernel_refs": [ "sys/dev/raid/mps/mps_config.c:249", "sys/dev/raid/mps/mps_config.c:254", "sys/dev/raid/mps/mps_config.c:260", "sys/dev/raid/mps/mpsvar.h:105", "sys/dev/raid/mps/mps.c:2099", "sys/dev/raid/mps/mps_sas.c:3320", "sys/dev/raid/mps/mps_pci.c:143" ], "artifacts": [ "harness.c", "build.sh", "run.sh", "run.log", "env.txt", "fix.diff", "README.md", "VERDICT.md", "manifest.json", "verdict.json" ] } |