https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116243

Dominik 'disconnect3d' Czarnota <dominik.b.czarnota+bugzilla at gmail dot com> 
changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dominik.b.czarnota+bugzilla
                   |                            |@gmail.com

--- Comment #3 from Dominik 'disconnect3d' Czarnota 
<dominik.b.czarnota+bugzilla at gmail dot com> ---
Hi, we created a minimal PoC of this at Trail of Bits for GCC 11.1 in the past
which you can find here [0]. This code is not production ready, but it may be
helpful for developing this further.

We actually developed ASan annotations for std::string and std::deque in both
GCC and LLVM after we found a bug manually that a fuzzer with ASan wasn't able
to find. Later, we focused only on LLVM as we wanted to run fuzzing harnesses
from oss-fuzz (which uses mostly LLVM) with such annotations. We eventually
finished and upstreamed the LLVM implementation.

We also presented about this research on WarCon 2022 [1] (there is also a slide
'a bit of history' on container overflow developments) and we blogged about
ASan [2] and annotations/container sanitization [3].

I hope and believe that the linked resources will be helpful for implementing
and testing this further in GCC. 

We would also be happy to work on this further for GCC if resourcing is
available for it.

[0]
https://github.com/trailofbits/gcc-asan-container-overflows/tree/containers-annotations

[1]
https://docs.google.com/presentation/d/1Wnn1Vmt5OwTra619j2_QiP1QA8XpWi4qTT9p9lMDR-8/

[2]
https://blog.trailofbits.com/2024/05/16/understanding-addresssanitizer-better-memory-safety-for-your-code/

[3]
https://blog.trailofbits.com/2024/09/10/sanitize-your-c-containers-asan-annotations-step-by-step/
  • [Bug libstdc++/1... dominik.b.czarnota+bugzilla at gmail dot com via Gcc-bugs

Reply via email to