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-11Ubuntuimpish*
Gcc-11Ubuntujammy*
Gcc-11Ubuntukinetic*
Gcc-11Ubuntulunar*
Gcc-11Ubuntumantic*
Gcc-11Ubuntunoble*
Gcc-11Ubuntuoracular*
Gcc-11Ubuntuplucky*
Gcc-11Ubuntuquesting*
Gcc-12Ubuntudevel*
Gcc-12Ubuntuesm-apps/noble*
Gcc-12Ubuntujammy*
Gcc-12Ubuntulunar*
Gcc-12Ubuntumantic*
Gcc-12Ubuntunoble*
Gcc-12Ubuntuoracular*
Gcc-12Ubuntuplucky*
Gcc-12Ubuntuquesting*
Gcc-3.3Ubuntukinetic*
Gcc-3.3Ubuntutrusty*
Gcc-3.3Ubuntuxenial*
Gcc-4.4Ubuntutrusty*
Gcc-4.6Ubuntutrusty*
Gcc-4.7Ubuntutrusty*
Gcc-4.7Ubuntuxenial*
Gcc-4.7-armel-crossUbuntutrusty*
Gcc-4.7-armel-crossUbuntuxenial*
Gcc-4.7-armhf-crossUbuntutrusty*
Gcc-4.7-armhf-crossUbuntuxenial*
Gcc-4.8Ubuntutrusty*
Gcc-4.8Ubuntuxenial*
Gcc-4.8-arm64-crossUbuntutrusty*
Gcc-4.8-arm64-crossUbuntuxenial*
Gcc-4.8-armhf-crossUbuntutrusty*
Gcc-4.8-armhf-crossUbuntuxenial*
Gcc-4.8-powerpc-crossUbuntutrusty*
Gcc-4.8-powerpc-crossUbuntuxenial*
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-androideabiUbuntutrusty*
Gcc-arm-linux-androideabiUbuntuxenial*
Gcc-arm-none-eabiUbuntubionic*
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-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-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-androidUbuntutrusty*
Gcc-i686-linux-androidUbuntuxenial*
Gcc-m68hc1xUbuntubionic*
Gcc-m68hc1xUbuntufocal*
Gcc-m68hc1xUbuntuimpish*
Gcc-m68hc1xUbuntukinetic*
Gcc-m68hc1xUbuntutrusty*
Gcc-m68hc1xUbuntuxenial*
Gcc-mingw-w64Ubuntubionic*
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-msp430Ubuntufocal*
Gcc-msp430Ubuntuimpish*
Gcc-msp430Ubuntukinetic*
Gcc-msp430Ubuntulunar*
Gcc-msp430Ubuntumantic*
Gcc-msp430Ubuntutrusty*
Gcc-msp430Ubuntuxenial*
Gcc-optUbuntubionic*
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