// https://syzkaller.appspot.com/bug?id=0a885a86c3f396f8fb35dadea0d48618bf9eb4c4 // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include int main(void) { syscall(__NR_mmap, /*addr=*/0x1ffffffff000ul, /*len=*/0x1000ul, /*prot=*/0ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/(intptr_t)-1, /*offset=*/0ul); syscall(__NR_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/(intptr_t)-1, /*offset=*/0ul); syscall(__NR_mmap, /*addr=*/0x200001000000ul, /*len=*/0x1000ul, /*prot=*/0ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/(intptr_t)-1, /*offset=*/0ul); const char* reason; (void)reason; if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { } // mq_open arguments: [ // name: ptr[in, buffer] { // buffer: {65 74 68 30 00 23 13 ae 75 e0 fb 75 30 2a f3 11 69 dd d9 c6 // 87 de bf 5f a0 f6 df 6b bf 2e 22 a6 c0 23 70 cd 1c 2f a6 f2 bc 79 4c // 85 61 b5 bb 7e 2b 3e bc 93 f8 ab 9a 33 85 6c 1d 15 11 1a 7b 40 21 32 // b6 21 ae f7 39 6b 90 88 0b 38 49 24 fd 51 1d 90 3d 72 d8 c0 d8 09 2f // 8d 76 d3 a7 d8 4a fd 94 23 4b 54 dd 14 d3 e1 be 5f 24 41 3d 7a ee bd // 2f 58 be 6d 4f 58 29 73 94 de be 5f 88 4e b8 de eb 29 cd c5 36 6d 0a // 0b 01 be eb bb 91 11 7a c2 7c 64 1b 04 d2 f9 79 78 b2 1b 08 4c 54 72 // 77 88 7c 30 09 c6 e2 9c ed 5c d8 5b c8 04 20 f3 ac 5d 56 1d 3a fc c3 // 9e 02 07 78 ef fe 1c 2e 54 54 cf bf f5 80 61 25 dc 51 b3 43 75 54 cc // 02 ea 91 e8 d8 01 59 5a 79 e6 21 89 9c d1 a6 16 37 8a 76 73 b2 07 fe // b3 6a 2a ad 18 49 cc e9 aa 7b 5d ef b7 f2 ee 2a f9 35 08 4a 74 d0 73 // c4 aa c8 13 7e b2 f2 30 bd 66 db ae 47 e3 fb ef 94 ef 3a 51 1b e3 a3 // a4 7d ef 60 65 cd 4c ab db 0d f2 79 9f 67 31 f4 09 18 69 2f 21 13 f1 // 2c 8c 75 aa bf 7e 29 94 1b 32 93 86 e7 9a f2 6a a8 96 a6 a2 fc 4e 81 // af 54 68 b3 1b 6f 3a e8 0b 71 37 53 e4 48 f3 4c a0 9c 97 42 12 10 9d // aa 7f 71 06 b9 28 f6 1c 83 b1 5b 84 10 61 46 9b da eb c4 2a 02 71 b2 // 92 00 8c 76 ac 20 41 4e b9 aa 81 57 97 54 65 81 98 4c fe 97 2b 75 d3 // 5e b1 f0 e0 1f bd 07 bb e5 18 9d 73 12 68 61 00 eb 84 99 c6 0f f1 d5 // 4c 44 a8 37 a0 44 51 8a 32 16 21 38 2c bc 25 24 f1 f2 d6 9c 79 ec 4b // da c5 dc fa dd f6 08 c6 b4 14 16 9c 7f 92 85 b0 a2 25 3a f0 f4 15 30 // 0f b4 a6 64 b4 e4 4c 19 57 d5 90 f7 6c 1b fe de 0b 68 97 3d 6d 82 2e // ac 0b 68 fe 84 51 7d 83 38 2f 83 eb 50 be d6 2b 3a ce 45 5c 95 d4 ac // 92 87 d7 98 97 e3 ec ad d5 ac 80 43 84 52 88 72 5e 67 ba 51 28 9a 3e // e2 ba a8 3d 17 0c 30 34 8f 1f f2 88 2a 40 76 e7 d1 ee b3 c2 8d 54 da // 81 67 d9 1a 3a 68 7a 57 36 73 29 78 06 ae 11 f2 1e cd 0b e5 4c 19 96 // 73 bc 9e f4 10 24 0d a4 d8 a2 a2 fc 4d c5 52 33 7e 24 c0 a5 6e 9a 20 // 57 b1 65 cc 3c 24 f5 23 47 ce af 88 55 fa 80 f2 34 f6 b5 ef e2 7a cf // 9e 4e 92 ac 81 7b e6 bd d7 16 e6 46 e2 9e 91 25 94 0b b9 dc d6 87 8f // cd c1 b0 35 81 81 f8 e9 58 e8 4b 74 39 40 f4 e1 a6 3d c9 e1 3a 70 34 // 0a 50 5b 66 1d fd fa 83 39 8d 0e d1 f9 a0 d2 5e 45 e5 ed 6f 2e aa f2 // b4 cd 6e 14 0c cd 83 5f 79 6b da c5 89 f0 5a ea 1d bd c0 30 0b a3 b3 // be e6 8b 18 2f a8 aa 59 f2 89 0f 9e 6e 4f 4f 72 00 b2 01 1f 3a 5a b8 // ee 3b e3 3b 8a 50 56 ce ee f8 5b 16 0a e6 3a 7a b8 1d 76 6b 07 7b c1 // 14 d9 2b db 09 11 90 79 e8 5c e6 fc ca b4 cb 43 d6 d0 be 43 ce c0 4c // db cd b3 90 37 63 b4 a6 ce db 5b ce 12 32 4e a3 c7 51 3c 1a a5 b3 29 // c5 98 84 8a 82 19 b0 09 ac 10 5c 8c be cb 0d 61 49 59 65 5b a8 c4 ac // 0e bb 0f 08 5e da 67 e2 a9 22 f5 68 27 cf d9 1b ef e3 e7 79 82 1e ca // 7f 02 20 cf 9e e0 d9 54 4d b9 0a a9 ad 33 91 a5 e6 21 cd a2 a4 14 12 // f9 bf a8 62 ce 63 3a d7 27 0c 0c 95 37 c9 7d 0d a6 aa 0f ca 96 eb 00 // 00 00 00 00} (length 0x382) // } // flags: mq_open_flags = 0x42 (8 bytes) // mode: open_mode = 0x1f0 (8 bytes) // attr: nil // ] // returns fd_mq memcpy( (void*)0x200000000a00, "eth0\000#\023\256u\340\373u0*\363\021i\335\331\306\207\336\277_" "\240\366\337k\277.\"\246\300#p\315\034/" "\246\362\274yL\205a\265\273~+>" "\274\223\370\253\2323\205l\035\025\021\032{@!2\266!" "\256\3679k\220\210\v8I$\375Q\035\220=r\330\300\330\t/" "\215v\323\247\330J\375\224#KT\335\024\323\341\276_$A=z\356\275/" "X\276mOX)s\224\336\276_\210N\270\336\353)" "\315\3056m\n\v\001\276\353\273\221\021z\302|" "d\033\004\322\371yx\262\033\bLTrw\210|0\t\306\342\234\355\\\330[" "\310\004 " "\363\254]V\035:\374\303\236\002\ax\357\376\034.TT\317\277\365\200a%" "\334Q\263CuT\314\002\352\221\350\330\001YZy\346!" "\211\234\321\246\0267\212vs\262\a\376\263j*\255\030I\314\351\252{]" "\357\267\362\356*\3715\bJt\320s\304\252\310\023~" "\262\3620\275f\333\256G\343\373\357\224\357:Q\033\343\243\244}\357`" "e\315L\253\333\r\362y\237g1\364\t\030i/" "!\023\361,\214u\252\277~)" "\224\0332\223\206\347\232\362j\250\226\246\242\374N\201\257Th\263\033o:" "\350\vq7S\344H\363L\240\234\227B\022\020\235\252\177q\006\271(" "\366\034\203\261[\204\020aF\233\332\353\304*\002q\262\222\000\214v\254 " "AN\271\252\201W\227Te\201\230L\376\227+u\323^" "\261\360\340\037\275\a\273\345\030\235s\022ha\000\353\204\231\306\017" "\361\325LD\2507\240DQ\2122\026!8,\274%$" "\361\362\326\234y\354K\332\305\334\372\335\366\b\306\264\024\026\234\177" "\222\205\260\242%:" "\360\364\0250\017\264\246d\264\344L\031W\325\220\367l\033\376\336\vh\227" "=m\202.\254\vh\376\204Q}\2038/" "\203\353P\276\326+:" "\316E\\\225\324\254\222\207\327\230\227\343\354\255\325\254\200C\204R" "\210r^g\272Q(\232>\342\272\250=\027\f04\217\037\362\210*@" "v\347\321\356\263\302\215T\332\201g\331\032:hzW6s)" "x\006\256\021\362\036\315\v\345L\031\226s\274\236\364\020$" "\r\244\330\242\242\374M\305R3~$\300\245n\232 " "W\261e\314<$\365#" "G\316\257\210U\372\200\3624\366\265\357\342z\317\236N\222\254\201{" "\346\275\327\026\346F\342\236\221%" "\224\v\271\334\326\207\217\315\301\2605\201\201\370\351X\350Kt9@" "\364\341\246=\311\341:p4\nP[f\035\375\372\2039\215\016\321\371\240\322^" "E\345\355o.\252\362\264\315n\024\f\315\203_" "yk\332\305\211\360Z\352\035\275\3000\v\243\263\276\346\213\030/" "\250\252Y\362\211\017\236nOOr\000\262\001\037:Z\270\356;\343;" "\212PV\316\356\370[\026\n\346:z\270\035vk\a{\301\024\331+" "\333\t\021\220y\350\\\346\374\312\264\313C\326\320\276C\316\300L\333\315" "\263\2207c\264\246\316\333[\316\0222N\243\307Q<\032\245\263)" "\305\230\204\212\202\031\260\t\254\020\\\214\276\313\raIYe[" "\250\304\254\016\273\017\b^" "\332g\342\251\"\365h\'\317\331\033\357\343\347y\202\036\312\177\002 " "\317\236\340\331TM\271\n\251\2553\221\245\346!" "\315\242\244\024\022\371\277\250b\316c:\327\'\f\f\2257\311}" "\r\246\252\017\312\226\353\000\000\000\000\000", 898); syscall( __NR_mq_open, /*name=*/0x200000000a00ul, /*flags=O_CREAT|O_RDWR*/ 0x42ul, /*mode=S_IWGRP|S_IRGRP|S_IXUSR|S_IWUSR|S_IRUSR*/ 0x1f0ul, /*attr=*/0ul); // mq_unlink arguments: [ // name: ptr[in, buffer] { // buffer: {65 74 68 30 00} (length 0x5) // } // ] memcpy((void*)0x200000000000, "eth0\000", 5); syscall(__NR_mq_unlink, /*name=*/0x200000000000ul); return 0; }