相伴江湖 -- Be With You

2020年4月16日星期四

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 word

  1. Hacking Apps
  2. Growth Hacker Tools
  3. Hacking Tools For Mac
  4. Hacker Search Tools
  5. Tools Used For Hacking
  6. Hacking Tools For Games
  7. Android Hack Tools Github
  8. Blackhat Hacker Tools
  9. Pentest Tools Bluekeep
  10. Hacking Tools Usb
  11. Github Hacking Tools
  12. Hacking Tools For Windows 7
  13. Hacker Tools Apk Download
  14. Hacking Tools Github
  15. Pentest Tools List
  16. Hacking Tools For Windows
  17. Hack App
  18. Hack Website Online Tool
  19. What Is Hacking Tools
  20. Hacker Tools For Ios
  21. Pentest Tools Alternative
  22. Pentest Tools Find Subdomains
  23. Physical Pentest Tools
  24. Hack Tools For Windows
  25. Pentest Tools Kali Linux
  26. Pentest Tools Nmap
  27. Hacking Tools Windows 10
  28. Pentest Tools Nmap

0 条评论:

发表评论

订阅 博文评论 [Atom]



<< 主页