DragonFlyBSD Kernel Audit
DF-1319 / run.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-1319 — no runnable PoC on the QEMU audit guest (no amdgpu, no AMD GPU,
# no DisplayPort hardware).  This script documents how reproduction WOULD
# proceed on hardware-equipped host (for a maintainer who has the gear):
#
#   1. Boot a host with an AMD GPU (e.g. Raven Ridge / Vega / Navi) under
#      the DragonFly amdgpu driver, monitor attached over DP.
#   2. Present a malicious DP sink that, on automated link-training test,
#      returns lane_count > 4 (e.g. 0x08) in DPCD 0x220 (DP_TEST_LANE_COUNT).
#      Realistically done with a programmable DP attacker dongle or a
#      USB-C->DP bridge under attacker control.
#   3. Hotplug triggers HPD -> dc_link_handle_hpd_rx_irq / handle_automated_test
#      -> dp_test_send_link_training.  The unchecked lane_count propagates to
#      dpcd_set_lt_pattern_and_lane_settings, overflowing dpcd_lane[4] and
#      dpcd_lt_buffer[5] on the kernel stack -> panic / stack corruption.
#
# On THIS guest: amdgpu is absent (not in GENERIC, not loaded, no HW), so
# there is nothing to run.  See VERDICT.md.
echo "DF-1319: cannot reproduce on the audit guest."
echo "  amdgpu not in X86_64_GENERIC, no AMD GPU HW, no DP peripheral."
echo "  Run the PoC on an amdgpu-equipped host with a malicious DP sink."
echo "  See VERDICT.md (source trace) and fix.diff (validated patch)."