β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
DF-0517

IPV6_FW_GET leaks one unused mbuf per call + walks chain without lock

Summary

IPV6_FW_GET(:1101-1116): walks ip6_fw_chain NO crit NO lock while other CPU may mutate (same UAF surface as DF-0513). Loop body unconditionally m_get(M_WAITOK) for next entry(:1109) before checking chain end. When loop terminates after last real rule, trailing empty mbuf allocated+threaded onto returned chain, never consumed. One mbuf leaked per GET. Fix: alloc next at top of iteration after checking le_next!=NULL.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-0517 Β· 1 files
FileTypeDescriptionSize
manifest.json file 389 B view raw

Fix verification

not_testable
baseline reproduced→ patch + rebuild →patched clean

recommended fix identified; fix.diff not authored/validated in this batch

recommended fix identified; fix.diff not authored/validated in this batch
combined build rc=0

Confirmed kernel references

β€”

Detail

Exploit chain

none (Info severity)

Evidence (decisive lines)

Source-confirmed at sys/net/ip6fw/ip6_fw.c:1101: IPV6_FW_GET leaks one unused mbuf per call + walks chain without lock

Verified recommended fix

Source-confirmed at sys/net/ip6fw/ip6_fw.c:1101: IPV6_FW_GET leaks one unused mbuf per call + walks chain without lock

Verdict

Source-confirmed at sys/net/ip6fw/ip6_fw.c:1101: IPV6_FW_GET leaks one unused mbuf per call + walks chain without lock