CVE Vulnerabilities

CVE-2022-27943

Uncontrolled Recursion

Published: Mar 26, 2022 | Modified: Nov 21, 2024
CVSS 3.x
5.5
MEDIUM
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
CVSS 2.x
4.3 MEDIUM
AV:N/AC:M/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
5.5 LOW
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Ubuntu
LOW
root.io logo minimus.io logo echo.ai logo

libiberty/rust-demangle.c in GNU GCC 11.2 allows stack consumption in demangle_const, as demonstrated by nm-new.

Weakness

The product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack.

Affected Software

NameVendorStart VersionEnd Version
GccGnu11.2 (including)11.2 (including)
BinutilsUbuntujammy*
BinutilsUbuntutrusty*
BinutilsUbuntuxenial*
CrashUbuntubionic*
CrashUbuntutrusty*
CrashUbuntuxenial*
Gcc-10Ubuntuimpish*
Gcc-11Ubuntudevel*
Gcc-11Ubuntuesm-apps/noble*
Gcc-11Ubuntuesm-apps/resolute*
Gcc-11Ubuntuimpish*
Gcc-11Ubuntujammy*
Gcc-11Ubuntukinetic*
Gcc-11Ubuntulunar*
Gcc-11Ubuntumantic*
Gcc-11Ubuntunoble*
Gcc-11Ubuntuoracular*
Gcc-11Ubuntuplucky*
Gcc-11Ubuntuquesting*
Gcc-11Ubunturesolute*
Gcc-12Ubuntudevel*
Gcc-12Ubuntuesm-apps/noble*
Gcc-12Ubuntuesm-apps/resolute*
Gcc-12Ubuntujammy*
Gcc-12Ubuntulunar*
Gcc-12Ubuntumantic*
Gcc-12Ubuntunoble*
Gcc-12Ubuntuoracular*
Gcc-12Ubuntuplucky*
Gcc-12Ubuntuquesting*
Gcc-12Ubunturesolute*
Gcc-3.3Ubuntuesm-apps/xenial*
Gcc-3.3Ubuntukinetic*
Gcc-3.3Ubuntutrusty*
Gcc-3.3Ubuntuxenial*
Gcc-4.4Ubuntutrusty*
Gcc-4.6Ubuntutrusty*
Gcc-4.7Ubuntuesm-apps/xenial*
Gcc-4.7Ubuntutrusty*
Gcc-4.7Ubuntuxenial*
Gcc-4.7-armel-crossUbuntuesm-apps/xenial*
Gcc-4.7-armel-crossUbuntutrusty*
Gcc-4.7-armel-crossUbuntuxenial*
Gcc-4.7-armhf-crossUbuntuesm-apps/xenial*
Gcc-4.7-armhf-crossUbuntutrusty*
Gcc-4.7-armhf-crossUbuntuxenial*
Gcc-4.8Ubuntutrusty*
Gcc-4.8Ubuntuxenial*
Gcc-4.8-arm64-crossUbuntuesm-apps/xenial*
Gcc-4.8-arm64-crossUbuntutrusty*
Gcc-4.8-arm64-crossUbuntuxenial*
Gcc-4.8-armhf-crossUbuntuesm-apps/xenial*
Gcc-4.8-armhf-crossUbuntutrusty*
Gcc-4.8-armhf-crossUbuntuxenial*
Gcc-4.8-powerpc-crossUbuntuesm-apps/xenial*
Gcc-4.8-powerpc-crossUbuntutrusty*
Gcc-4.8-powerpc-crossUbuntuxenial*
Gcc-4.8-ppc64el-crossUbuntuesm-apps/xenial*
Gcc-4.8-ppc64el-crossUbuntutrusty*
Gcc-4.8-ppc64el-crossUbuntuxenial*
Gcc-4.9Ubuntuxenial*
Gcc-5Ubuntuxenial*
Gcc-5-crossUbuntuxenial*
Gcc-7Ubuntubionic*
Gcc-7-crossUbuntubionic*
Gcc-7-cross-portsUbuntubionic*
Gcc-8Ubuntubionic*
Gcc-8Ubuntuimpish*
Gcc-8-crossUbuntubionic*
Gcc-8-crossUbuntufocal*
Gcc-8-cross-portsUbuntubionic*
Gcc-9Ubuntuimpish*
Gcc-9-crossUbuntuimpish*
Gcc-9-crossUbuntukinetic*
Gcc-9-cross-portsUbuntuimpish*
Gcc-9-cross-portsUbuntukinetic*
Gcc-arm-linux-androideabiUbuntuesm-apps/xenial*
Gcc-arm-linux-androideabiUbuntutrusty*
Gcc-arm-linux-androideabiUbuntuxenial*
Gcc-arm-none-eabiUbuntubionic*
Gcc-arm-none-eabiUbuntuesm-apps/xenial*
Gcc-arm-none-eabiUbuntufocal*
Gcc-arm-none-eabiUbuntuimpish*
Gcc-arm-none-eabiUbuntukinetic*
Gcc-arm-none-eabiUbuntulunar*
Gcc-arm-none-eabiUbuntumantic*
Gcc-arm-none-eabiUbuntuoracular*
Gcc-arm-none-eabiUbuntuplucky*
Gcc-arm-none-eabiUbuntutrusty*
Gcc-arm-none-eabiUbuntuxenial*
Gcc-avrUbuntubionic*
Gcc-avrUbuntuesm-apps/xenial*
Gcc-avrUbuntufocal*
Gcc-avrUbuntuimpish*
Gcc-avrUbuntukinetic*
Gcc-avrUbuntulunar*
Gcc-avrUbuntumantic*
Gcc-avrUbuntuoracular*
Gcc-avrUbuntuplucky*
Gcc-avrUbuntutrusty*
Gcc-avrUbuntuxenial*
Gcc-defaultsUbuntubionic*
Gcc-defaultsUbuntuimpish*
Gcc-defaultsUbuntukinetic*
Gcc-defaultsUbuntulunar*
Gcc-defaultsUbuntumantic*
Gcc-defaults-arm64-crossUbuntutrusty*
Gcc-defaults-armel-crossUbuntutrusty*
Gcc-defaults-armhf-crossUbuntutrusty*
Gcc-defaults-powerpc-crossUbuntutrusty*
Gcc-defaults-ppc64el-crossUbuntutrusty*
Gcc-h8300-hmsUbuntubionic*
Gcc-h8300-hmsUbuntuesm-apps/xenial*
Gcc-h8300-hmsUbuntufocal*
Gcc-h8300-hmsUbuntuimpish*
Gcc-h8300-hmsUbuntukinetic*
Gcc-h8300-hmsUbuntulunar*
Gcc-h8300-hmsUbuntumantic*
Gcc-h8300-hmsUbuntuoracular*
Gcc-h8300-hmsUbuntuplucky*
Gcc-h8300-hmsUbuntutrusty*
Gcc-h8300-hmsUbuntuxenial*
Gcc-i686-linux-androidUbuntuesm-apps/xenial*
Gcc-i686-linux-androidUbuntutrusty*
Gcc-i686-linux-androidUbuntuxenial*
Gcc-m68hc1xUbuntubionic*
Gcc-m68hc1xUbuntuesm-apps/xenial*
Gcc-m68hc1xUbuntufocal*
Gcc-m68hc1xUbuntuimpish*
Gcc-m68hc1xUbuntukinetic*
Gcc-m68hc1xUbuntutrusty*
Gcc-m68hc1xUbuntuxenial*
Gcc-mingw-w64Ubuntubionic*
Gcc-mingw-w64Ubuntuesm-apps/xenial*
Gcc-mingw-w64Ubuntufocal*
Gcc-mingw-w64Ubuntuimpish*
Gcc-mingw-w64Ubuntukinetic*
Gcc-mingw-w64Ubuntulunar*
Gcc-mingw-w64Ubuntumantic*
Gcc-mingw-w64Ubuntuoracular*
Gcc-mingw-w64Ubuntuplucky*
Gcc-mingw-w64Ubuntutrusty*
Gcc-mingw-w64Ubuntutrusty/esm*
Gcc-mingw-w64Ubuntuxenial*
Gcc-msp430Ubuntubionic*
Gcc-msp430Ubuntuesm-apps/xenial*
Gcc-msp430Ubuntufocal*
Gcc-msp430Ubuntuimpish*
Gcc-msp430Ubuntukinetic*
Gcc-msp430Ubuntulunar*
Gcc-msp430Ubuntumantic*
Gcc-msp430Ubuntutrusty*
Gcc-msp430Ubuntuxenial*
Gcc-optUbuntubionic*
Gcc-optUbuntuesm-apps/xenial*
Gcc-optUbuntufocal*
Gcc-optUbuntuimpish*
Gcc-optUbuntukinetic*
Gcc-optUbuntulunar*
Gcc-optUbuntumantic*
Gcc-optUbuntuoracular*
Gcc-optUbuntuplucky*
Gcc-optUbuntutrusty*
Gcc-optUbuntuxenial*
Gcc-snapshotUbuntubionic*
Gcc-snapshotUbuntufocal*
Gcc-snapshotUbuntuimpish*
Gcc-snapshotUbuntukinetic*
Gcc-snapshotUbuntutrusty*
Gcc-snapshotUbuntuxenial*
Gccgo-4.9Ubuntutrusty*
Gccgo-6Ubuntuxenial*
GdbUbuntubionic*
GdbUbuntujammy*
GdbUbuntutrusty*
GdbUbuntuupstream*
GdbUbuntuxenial*
LibibertyUbuntuhirsute*
LibibertyUbuntujammy*
LibibertyUbuntutrusty*
LibibertyUbuntuxenial*

Potential Mitigations

References