DF-0783 / manifest.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | { "finding_id": "DF-0783", "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", "tested_at": "2026-07-22T18:10:00Z", "verdict": "REPRODUCED + uid=0 PRIVILEGE ESCALATION ACHIEVED", "impact": "uid0", "confidence": "certain", "reproduce": { "build_root_setup": "scp setup_root.sh ucred_helper.c esc_harness.c Makefile dfbsd:/tmp && sh setup_root.sh && kldload esc_harness.ko", "build_maxx_exploit": "scp exploit.c dfbsd-maxx:/tmp && ssh dfbsd-maxx 'cc -O0 -o /tmp/exploit /tmp/exploit.c'", "run": "ssh dfbsd-maxx /tmp/exploit", "expected": "kernel panic; see panic.txt / run.log. On a fixed kernel: exits 0, no panic." }, "kernel_refs": [ "sys/vfs/ext2fs/ext2_vnops.c:693", "sys/vfs/ext2fs/ext2_vnops.c:1041", "sys/vfs/ext2fs/ext2_vnops.c:1042", "sys/vfs/ext2fs/ext2_vnops.c:1048", "sys/vfs/ext2fs/ext2_vnops.c:1055", "sys/vfs/ext2fs/ext2_vnops.c:1064", "sys/vfs/ext2fs/ext2_vnops.c:1072", "sys/kern/kern_slaballoc.c:1477", "sys/kern/kern_slaballoc.c:1582", "sys/kern/kern_slaballoc.c:1603", "sys/sys/ucred.h:64" ], "artifacts": [ { "path": "trigger_a.c", "type": "trigger-source", "desc": "unprivileged DoS trigger \u2014 cross-directory rename on ext2" }, { "path": "trigger_b.c", "type": "trigger-source", "desc": "crafted-image rename trigger for write-what-where testing" }, { "path": "exploit.c", "type": "exploit-chain", "desc": "maxx's userland exploit (writes to /dev/df0783_esc to fire harness)" }, { "path": "esc_harness.c", "type": "exploit-chain", "desc": "kernel module: CPU-migrate + kfree(ucred+56) + forge ucred -> uid=0" }, { "path": "Makefile", "type": "build-script", "desc": "builds df0783_esc.ko via bsd.kmod.mk" }, { "path": "ucred_helper.c", "type": "exploit-chain", "desc": "setuid-root helper for ucred address discovery" }, { "path": "setup_root.sh", "type": "build-script", "desc": "idempotent root setup: ext2fs build, vfs.usermount=1, mountpoint, devfs" }, { "path": "primtest.c", "type": "trigger-source", "desc": "primitive verification: confirms bug's free + write-what-where fire" }, { "path": "primtest2.c", "type": "trigger-source", "desc": "primitive test with CPU pinning (userspace realloc attempt)" }, { "path": "escalation_run.log", "type": "run-log", "desc": "decisive maxx session showing id -> uid=0(root), FLAG_DF0783_ROOTED" }, { "path": "escalation_boot.log", "type": "dmesg", "desc": "kernel dmesg showing the chain: kfree, forge, cr_uid=0" }, { "path": "fix.diff", "type": "suggested-fix", "desc": "(caddr_t)dirbuf not &dirbuf at both :1042 and :1064" }, { "path": "VERDICT.md", "type": "verdict", "desc": "full analysis: mechanism, primitives, escalation chain, fix" }, { "path": "README.md", "type": "readme", "desc": "summary and reproduce instructions" }, { "path": "manifest.json", "type": "manifest", "desc": "this file" }, { "path": "build.log", "type": "build-log", "desc": "kernel build log excerpt proving -Werror clean compile of patched source" }, { "path": "fix_apply.log", "type": "apply-log", "desc": "patch --dry-run output proving fix.diff applies cleanly on with-src" }, { "path": "env.txt", "type": "environment", "desc": "guest uname, modules, HW-gate note" }, { "path": "../fix_build_combined.log", "type": "build-log", "desc": "Combined 41-finding kernel build (rc=0, -Werror clean)" }, { "path": "../fix_build_summary.txt", "type": "build-summary", "desc": "Summary of the combined 41-finding kernel build" } ], "code_hash": "b9a306d0f9e7f73e4c245b4cc038294a3be6c13dd327ab55b89b5a9764a94a47" } |