{
 "finding_id": "DF-4408",
 "status": "untested",
 "attempts": 0,
 "reproduced": 0,
 "confidence": "certain",
 "impact": "dos",
 "verdict": "Source-verified NULL/wild-pointer dereference in acpi_asus_probe: the AcpiEvaluateObject(INIT) status is ignored (acpi_asus.c:579), Buf.Pointer is NULL on failure, Obj->String.Pointer is dereferenced with no Obj NULL or Type check (acpi_asus.c:586), and even the intended NULL-string branch falls through to strncmp(Obj->String.Pointer=NULL, ...) at acpi_asus.c:621 when the platform is neither Samsung ODEM nor ASUS010 EeePC. Deterministic kernel panic at probe (boot-time DoS) on any ATK0100/ASUS010 machine with a missing, failing, or non-String INIT method. Untested at runtime: the audit guest ACPI namespace has zero ATK0100/ASUS010 nodes (verified live, env.txt) so the driver never attaches; no unprivileged trigger path exists (probe runs at boot or under root-forced rescan; DSDT replacement requires root).",
 "exploit_chain": "",
 "evidence": "findings/poc/DF-4408/VERDICT.md (path:line trace incl. union-offset analysis for non-String returns), README.md, env.txt (live guest ACPI probe), fix.diff",
 "kernel_refs": [
  "sys/dev/acpica/acpi_asus/acpi_asus.c:579",
  "sys/dev/acpica/acpi_asus/acpi_asus.c:586",
  "sys/dev/acpica/acpi_asus/acpi_asus.c:605",
  "sys/dev/acpica/acpi_asus/acpi_asus.c:621"
 ],
 "poc_changes": "",
 "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",
 "runtime_sec": 10,
 "guest_dirty": 0,
 "build_cmd": "",
 "run_cmd": "",
 "code_hash": "9eacb0c96dfad1f1706521a77ac52e1723c1909b76637e51b2e99494fa992518",
 "notes": "Firmware-gated boot-time panic class (same family as historical Samsung P30 PRs upstream). Pass-2 sibling findings on this file: DF-4409 (notify-handler removal mismatch), DF-4410 (LED async task UAF), DF-4411 (probe mutates static model table).",
 "recommended_fix": "Validate AcpiEvaluateObject status, Obj != NULL, and Obj->Type == ACPI_TYPE_STRING before use, and make the NULL-string branch return ENXIO instead of falling through to strncmp(NULL); see fix.diff.",
 "fix_status": "not_testable",
 "fix_baseline_reproduced": 0,
 "fix_patched_reproduced": 0,
 "fix_verdict": "fix.diff authored from source analysis; cannot be built/validated on the audit guest - driver only builds/attaches with ATK0100/ASUS010 firmware (optional acpi_asus, absent namespace).",
 "fix_evidence": "findings/poc/DF-4408/fix.diff; env.txt"
}