sexta-feira, 26 de janeiro de 2024

C++ Std::Condition_Variable Null Pointer Derreference


This story is about a bug generated by g++ and clang compilers (at least)
The condition_variables is a feature on the standard library of c++ (libstdc++), when its compiled statically a weird asm code is generated.


Any example on the link below will crash if its compiled statically:
 https://en.cppreference.com/w/cpp/thread/condition_variable



In this case the condition_variable.wait() crashed, but this happens with other methods, a simple way to trigger it:




If this program is compiled dynamically the crash doesn't occur:

Looking the dissasembly there is a surprise created by the compiler:


Compilers:
    g++  9.2.1+20200130-2
    clang++ v9

Both compilers are generating the "call 0x00"

If we check this call in a dynamic compiled:




The implementation of condition_variable in github:
https://github.com/gcc-mirror/gcc/blob/b7c9bd36eaacac42631b882dc67a6f0db94de21c/libstdc%2B%2B-v3/include/std/condition_variable


The compilers can't copile well this code in static,  and same happens on  other condition_variable methods.
I would say the _lock is being assembled improperly in static, is not exacly a null pointer derreference but the effects are the same, executing code at address 0x00 which on linux is a crash on most of cases.

Read more


  1. Nsa Hacker Tools
  2. Hacking Tools Software
  3. Black Hat Hacker Tools
  4. Hacking Tools For Pc
  5. Hacking Tools
  6. Nsa Hacker Tools
  7. Pentest Tools Find Subdomains
  8. Hacking Tools 2019
  9. Hacking Tools Online
  10. Easy Hack Tools
  11. Hack Rom Tools
  12. Pentest Tools Android
  13. Pentest Tools For Ubuntu
  14. Hacking Tools Download
  15. Hacker Search Tools
  16. Usb Pentest Tools
  17. Pentest Tools Find Subdomains
  18. Hacker Tools
  19. Pentest Tools Find Subdomains
  20. Hack App
  21. Hack Tools 2019
  22. Hacking Tools And Software
  23. Hacker Tools Free
  24. Hacking Tools For Beginners
  25. Hacker Tools List
  26. Pentest Tools Apk
  27. Growth Hacker Tools
  28. Tools Used For Hacking
  29. Easy Hack Tools
  30. Tools 4 Hack
  31. Pentest Tools Github
  32. World No 1 Hacker Software
  33. Hack Tools Github
  34. Hack Tools Online
  35. Hack Tools Pc
  36. Pentest Tools Download
  37. Hackers Toolbox
  38. Hack Tools 2019
  39. Usb Pentest Tools
  40. Pentest Tools Url Fuzzer
  41. Hacking Tools Download
  42. Hacking Tools Hardware
  43. Hacker Tools Linux
  44. Hack Tools Github
  45. Hacker Tools For Ios
  46. Hack Tools For Pc
  47. How To Hack
  48. Hacker Tools For Windows
  49. Hacking Tools Windows 10
  50. Pentest Tools For Windows
  51. Hacks And Tools

Nenhum comentário:

Postar um comentário