{
  "finding_id": "DF-5395",
  "file": "sys/bus/u4b/net/if_axge.c",
  "title": "axge_attach() failure paths call axge_detach() on a never-attached usb_ether -> kernel panic at evil-USB plug-in (lockmgr through NULL ue_lock; latent ether_ifdetach-on-unattached ifnet corruption)",
  "verdict": "reproduced",
  "impact": "panic",
  "confidence": "certain",
  "reproduce": {
    "build": "in-guest: cd /root/df5395 && make -m /usr/src/share/mk",
    "run": "in-guest: kldload -v /root/df5395/axge_poc.ko",
    "expected": "3 axge_poc marker lines, then 'Fatal trap 12: page fault while in kernel mode', 'fault virtual address = 0x0', 'Stopped at lockmgr_exclusive+0x5d: orl (%r14),%esi', guest dead in DDB. With fix.diff applied + patched uether.ko: 'axge_poc: SURVIVED uether_ifdetach()', KLDLOAD_RC=0."
  },
  "kernel_refs": [
    "sys/bus/u4b/net/if_axge.c:549-558",
    "sys/bus/u4b/net/if_axge.c:560-564",
    "sys/bus/u4b/net/if_axge.c:566-575",
    "sys/bus/u4b/net/if_axge.c:579-591",
    "sys/bus/u4b/net/usb_ethernet.c:267-305",
    "sys/bus/u4b/usb_process.c:397-410"
  ],
  "artifacts": [
    "README.md", "VERDICT.md", "axge_attach_poc.c", "Makefile",
    "build.sh", "run.sh", "build.log", "panic.txt", "run.log",
    "fix_uether_build.log", "fix_if_axge_build.log", "env.txt",
    "fix.diff", "manifest.json", "verdict.json"
  ]
}
