DF-5668 / manifest.json
{ "finding_id": "DF-5668", "title": "AcpiOsGetRootPointer() accepts hint.acpi.0.rsdp with zero validation: second kenv RSDP consumer feeding ACPICA; FADT-less crafted chain panics boot at AcpiTbLoadNamespace+0x36", "file": "sys/platform/pc64/acpica/OsdEnvironment.c", "verdict": "reproduced", "impact": "panic", "confidence": "certain", "reproduce": { "build": "./build.sh (blobs); guest: cd /usr/src && git apply -p0 fix.diff && make -j8 nativekernel KERNCONF=X86_64_GENERIC && make installkernel", "run": "loader.conf hint.acpi.0.rsdp=0x40000000 + QEMU -device loader,file=nosig_fadtless.bin,addr=0x40000000,force-raw=on; boot", "expected": "stock: lapic_count=3, acpi0: <DFBSD >, Fatal trap 12, Stopped at AcpiTbLoadNamespace+0x36 (cmpl $0x54445344); patched: 'AcpiOsGetRootPointer: kenv RSDP failed validation, falling back to firmware scan', acpi0 <BOCHS BXPC> attached, clean boot" }, "kernel_refs": [ "sys/platform/pc64/acpica/OsdEnvironment.c:59", "sys/platform/pc64/acpica/OsdEnvironment.c:72", "sys/contrib/dev/acpica/source/components/tables/tbxface.c:257", "sys/contrib/dev/acpica/source/components/tables/tbutils.c:376", "sys/dev/acpica/acpi.c:462", "sys/dev/acpica/acpi.c:553", "sys/contrib/dev/acpica/source/components/tables/tbxfload.c:275", "sys/contrib/dev/acpica/source/components/tables/tbxfroot.c:211", "sys/contrib/dev/acpica/source/include/acglobal.h:171", "sys/contrib/dev/acpica/source/components/tables/tbfadt.c:490", "sys/dev/acpica/Osd/OsdMemory.c:85", "sys/platform/pc64/acpica/acpi_sdt.c:71" ], "artifacts": [ "README.md", "VERDICT.md", "gen_chain.py", "nosig_fadtless.bin", "valid_fadtless.bin", "build.sh", "run.sh", "build.log", "run.S1_nosig.boot.log", "panic.txt", "run.S2_validfadtless.boot.log", "run.S3_zeroed_wedge.boot.log", "fixrun.F1_nosig.boot.log", "fixrun.F2_validfadtless.boot.log", "fixrun.F3_zeroedhint.boot.log", "fix.diff", "fix_build.log", "env.txt", "manifest.json", "verdict.json" ] } |