Source: gettext
Severity: important
Tags: upstream
Control: block 967026 by -1

gettext uses libcroco, an old GNOME library which is no longer used
by GNOME itself, as part of term-styled-ostream, an ANSI terminal text
highlighting library that for some reason uses CSS in its full generality
as a (much more general than necessary!) style language.

As noted on #967026, libcroco has multiple security issues if it is used
to parse untrusted CSS. If I am understanding gettext's use of it
correctly, it is only used to parse trusted CSS, so these security issues
are not directly relevant; however, if we continue to make libcroco
available as a standalone library, users will expect that it is safe to
use at a security boundary.

In Fedora, libcroco was removed from the distribution by making gettext
use the vendored copy of libcroco that is already in gettext's upstream
source code. I think we should seriously consider doing the same in
Debian. I think it would also make a lot of sense to delete all the
parts of the vendored libcroco that are outside its scope (anything
involving block layout for a start).

Alternatively, someone outside GNOME could take over upstream and
downstream maintenance of libcroco, and start by fixing all the CVEs
(but I wouldn't recommend this, GNOME stopped using it for good reasons).

Please see #967026 and https://gitlab.gnome.org/GNOME/libcroco/-/issues/8
for more details.

    smcv

Reply via email to