Sunday, January 28, 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.

Related articles

  1. Hacker Tools List
  2. Hacking Tools 2020
  3. Hacker Tools List
  4. Hacking Tools Windows 10
  5. Android Hack Tools Github
  6. Pentest Tools Linux
  7. Pentest Tools Subdomain
  8. Hacking Tools Name
  9. Tools For Hacker
  10. Physical Pentest Tools
  11. Pentest Reporting Tools
  12. New Hack Tools
  13. Pentest Tools Review
  14. Pentest Tools Tcp Port Scanner
  15. Hack Tools 2019
  16. Hack Tools For Mac
  17. Hack Apps
  18. Pentest Tools For Windows
  19. Game Hacking
  20. Nsa Hacker Tools
  21. Hacker
  22. Hacks And Tools
  23. Hack Website Online Tool
  24. What Are Hacking Tools
  25. Best Pentesting Tools 2018
  26. Hacker Tools Linux
  27. Hacker Tools 2019
  28. What Are Hacking Tools
  29. Hacker Tools 2019
  30. Best Hacking Tools 2019
  31. Install Pentest Tools Ubuntu
  32. Android Hack Tools Github
  33. Pentest Tools Android
  34. Physical Pentest Tools
  35. Hacking Tools Github
  36. Pentest Tools Github
  37. New Hack Tools
  38. Hack Tools
  39. Pentest Tools For Windows
  40. Hak5 Tools
  41. Hack Tools 2019
  42. How To Hack
  43. Hacking Tools For Windows
  44. Hacking Tools For Beginners
  45. What Is Hacking Tools
  46. How To Hack
  47. Top Pentest Tools
  48. Pentest Tools For Android
  49. Hacking App
  50. Hack Tools For Ubuntu
  51. Pentest Tools Kali Linux
  52. Hacking Tools For Games
  53. Hack Tools
  54. Hacking Tools Kit
  55. Pentest Tools Bluekeep
  56. Hacker Tools For Ios
  57. Pentest Tools Review
  58. Hack Rom Tools
  59. Hack Tools Online
  60. Hacker Tools For Mac
  61. Hack Tools For Windows
  62. Tools For Hacker
  63. Bluetooth Hacking Tools Kali
  64. Computer Hacker
  65. Hack Apps
  66. Ethical Hacker Tools
  67. Hacker Tools 2019
  68. Hacker Tools For Windows
  69. Pentest Tools Bluekeep
  70. Pentest Tools Port Scanner
  71. Top Pentest Tools
  72. Hack Rom Tools
  73. Computer Hacker
  74. Beginner Hacker Tools
  75. Android Hack Tools Github
  76. Install Pentest Tools Ubuntu
  77. How To Hack
  78. Hacking Tools Kit
  79. Pentest Tools Windows
  80. Hackrf Tools
  81. Pentest Tools For Ubuntu
  82. Hacker Tools For Windows
  83. Pentest Tools Url Fuzzer
  84. Pentest Tools Kali Linux
  85. Hacking Tools Software
  86. Hack Website Online Tool
  87. Blackhat Hacker Tools
  88. Pentest Tools List
  89. Hack App
  90. Pentest Tools Download
  91. Pentest Tools For Android
  92. Pentest Tools Free
  93. Blackhat Hacker Tools
  94. Pentest Tools Open Source
  95. Hacker Tools Software
  96. Hacking Tools For Mac
  97. Hacker Hardware Tools
  98. Hacker Tools Hardware
  99. Hacking Tools Online
  100. Hack App
  101. Hack Tools Online
  102. Hacker Tools For Ios
  103. Best Hacking Tools 2019
  104. What Is Hacking Tools
  105. New Hack Tools
  106. Bluetooth Hacking Tools Kali
  107. Hack Tool Apk No Root
  108. Nsa Hacker Tools
  109. Hack Tools Github
  110. Hack Tools For Pc
  111. Pentest Recon Tools
  112. Black Hat Hacker Tools
  113. Pentest Tools Apk
  114. Hacking Tools Pc
  115. Hacking Tools For Beginners
  116. Hacking App
  117. Pentest Tools Download
  118. Hack Apps
  119. Pentest Tools Alternative
  120. Hacking Tools Usb
  121. Blackhat Hacker Tools
  122. Pentest Tools Online
  123. Hak5 Tools
  124. Hacking Tools Github
  125. Hackers Toolbox
  126. Hacking Tools Mac
  127. New Hacker Tools
  128. Hacking Tools 2019
  129. Hacking Tools Pc
  130. Best Hacking Tools 2020
  131. How To Hack
  132. Hacking Tools 2019
  133. Hack Tools 2019
  134. Hacking Tools For Kali Linux
  135. Hacking Tools For Windows 7
  136. Computer Hacker
  137. New Hacker Tools
  138. Pentest Tools Port Scanner
  139. Hack Tools For Games
  140. Growth Hacker Tools
  141. Hacker Techniques Tools And Incident Handling
  142. Hacking Tools Windows 10
  143. Hacking Tools For Mac
  144. Pentest Tools Linux
  145. Pentest Tools
  146. Pentest Tools Website
  147. Hack Tools Pc
  148. Hacking Tools For Kali Linux
  149. Pentest Tools Port Scanner
  150. Pentest Tools Review
  151. Pentest Tools List

No comments:

Post a Comment