Sunday 19 April 2020

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.

Related articles


  1. Hacking Tools For Beginners
  2. Top Pentest Tools
  3. Pentest Recon Tools
  4. Beginner Hacker Tools
  5. Nsa Hack Tools
  6. Nsa Hack Tools Download
  7. Hacker Tools
  8. Computer Hacker
  9. How To Make Hacking Tools
  10. Hack Tools For Ubuntu
  11. Pentest Tools Free
  12. How To Make Hacking Tools
  13. Hack Apps
  14. Hacking Tools For Pc
  15. World No 1 Hacker Software
  16. Best Hacking Tools 2020
  17. Hacking Tools 2019
  18. Termux Hacking Tools 2019
  19. Best Hacking Tools 2020
  20. Kik Hack Tools
  21. Hacks And Tools
  22. Computer Hacker
  23. Hacker Tools Apk
  24. Black Hat Hacker Tools
  25. Hacking Tools Free Download
  26. Hacker Tools Linux
  27. Pentest Tools For Windows
  28. Growth Hacker Tools

No comments:

Post a Comment