DragonFlyBSD Kernel Audit
DF-0141 / fix_run.log
← back to finding ↓ download raw
=== PATCHED KERNEL: #1 fixed, quotas enabled, run as unpriv maxx ===
uid=1001(maxx) gid=1001(maxx) groups=1001(maxx)

--- errno check ---
vquotactl returned -1, errno=1 (Operation not permitted)

--- full PoC (all ops must FAIL with EPERM) ---
== DF-0141: unprivileged vquotactl privilege bypass ==
running as uid=1001 euid=1001 (expect: NO root)
target mount path: /tmp

[1] READ all quotas (info disclosure):
    vquotactl("get usage all") rc=-1 (Unknown error: -1)

[2] WRITE per-uid limit for uid=0 (root) -> 99999999:
    vquotactl("set limit uid" uid=0) rc=-1 (Unknown error: -1)

[3] VERIFY root's limit was changed:
    re-read rc=-1 — look for uid=0 limit=99999999 above

[4] WRITE filesystem-wide limit -> 1234567 (DoS primitive):
    vquotactl("set limit") rc=-1 (Unknown error: -1)

[5] cleanup: reset root uid limit=0, fs limit=0

>>> RESULT: unprivileged uid=1001 manipulated quotas.
>>> If any of [1]-[4] returned SUCCESS, the privilege check is MISSING (DF-0141 reproduced).
POC_EXIT=0

--- DoS attempt (write must SUCCEED, not blocked) ---
1+0 records in
1+0 records out
1024 bytes transferred in 0.000068 secs (14957639 bytes/sec)
DD_RC=0