First published: Mon Feb 06 2023(Updated: )
In Binutils, at function `bfd_init_section_decompress_status`, a local variable is supposed to be initialized by function `bfd_check_compression_header`. However, since this function call is inside an `else if` branch, if the previous `if` branch is taken, the `ch_type` can be uninitialized and thus directly used to assign `sec->compress_status`. Therefore, when the `compress_status` field is used in a branch condition, the memory sanitizer aborts. Upstream bug: <a href="https://sourceware.org/bugzilla/show_bug.cgi?id=29855">https://sourceware.org/bugzilla/show_bug.cgi?id=29855</a> Upstream fix: <a href="https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5830876a0cca17bef3b2d54908928e72cca53502">https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5830876a0cca17bef3b2d54908928e72cca53502</a>
Affected Software | Affected Version | How to fix |
---|---|---|
Ubuntu/binutils |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of REDHAT-BUG-2167502 is not explicitly stated, but it involves potential uninitialized variable usage which can lead to undefined behavior.
To fix REDHAT-BUG-2167502, ensure that the variable `ch_type` is properly initialized before any potential usage.
The software affected by REDHAT-BUG-2167502 is GNU Binutils.
The function involved in REDHAT-BUG-2167502 is `bfd_check_compression_header`, which is called under specific conditions.
The main issue in REDHAT-BUG-2167502 is that a local variable may remain uninitialized depending on the branching logic in the code.