A vulnerability has been found in libcroco which could result in denial of service.
| Package | Arch | Vulnerable | Unaffected |
|---|---|---|---|
| dev-libs/libcroco | * | < 0.6.13 | >= 0.6.13 |
| gnome-base/gnome-shell | * | < 3.36.7 | >= 3.36.7 |
| sys-devel/gettext | * | < 0.21 | >= 0.21 |
GNOME Shell provides core user interface functions for the GNOME desktop, like switching to windows and launching applications. gettext contains the GNU locale utilities. libcroco is a standalone CSS2 parsing and manipulation library.
The cr_parser_parse_any_core function in libcroco's cr-parser.c does not limit recursion, leading to a denial of service via a stack overflow when trying to parse crafted CSS. Gnome Shell and gettext bundle libcroco in their own sources and thus are potentially vulnerable as well.
An attacker with control over the input to the library can cause a denial of service.
There is no known workaround at this time.
All gettext users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=sys-devel/gettext-0.21"
All Gnome Shell users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=gnome-base/gnome-shell-3.36.7"
All libcroco users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=dev-libs/libcroco-0.6.13"
The gettext utility is vulnerable to symlink attacks, potentially allowing a local user to overwrite or change permissions on arbitrary files with the rights of the user running gettext, which could be the root user.
| Package | Arch | Vulnerable | Unaffected |
|---|---|---|---|
| sys-devel/gettext | * | < 0.14.1-r1 | >= 0.14.1-r1, >= 0.12.1-r2 (revision) |
gettext is a set of utilities for the GNU Translation Project which provides a set of tools and documentation to help produce multi-lingual messages in programs.
gettext insecurely creates temporary files in world-writeable directories with predictable names.
A local attacker could create symbolic links in the temporary files directory, pointing to a valid file somewhere on the filesystem. When gettext is called, this would result in file access with the rights of the user running the utility, which could be the root user.
There is no known workaround at this time.
All gettext users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=sys-devel/gettext-0.14.1-r1"