Kürzlich wurde CVE-2024-2961 veröffentlicht, die eine Bufferbloat-Schwachstelle in GNU libc-Versionen < 2.39 bestätigt, sobald Zeichensätze in bestimmte chinesische Codierungen umgewandelt werden sollen. Diese Schwachstelle betrifft unter anderem auch PHP. Sobald iconv verwendet wird, um Zeichensätze zu übersetzen, besteht das Potenzial auf eine RCE.

FYI: WordPress und Joomla nutzen beispielsweise PHP im Backend.

Es ist ratsam, auf die neueste glibc Version (> 2.40) zu aktualisieren. Wenn man jedoch nicht in der Lage ist zu aktualisieren, kann man die Schwachstelle anderweitig deaktivieren.

 

Überprüfen der glibc-Version

ldd --version

Wenn der Server glibc 2.39 oder älter aufweist, dann sind die ISO-2022-CN-EXT-Codierungsmodule des Systems anfällig.

Überprüfen des aktiven Codierungsmoduls in iconv

iconv -l | grep -E 'CN-?EXT'

Wenn die Ausgabe dem folgenden Text entspricht, dann ist die Schwachstelle aktiv:

ISO-2022-CN-EXT//
ISO2022CNEXT//

 

Deaktivieren des mangelnden Moduls

Normalerweise ist die Konfigurationsdatei für iconv-Module unter dem Verzeichnispfad /usr/lib/x86_64-linux-gnu/gconv/gconv-modules zu finden, könnte sich aber auch bei diversen Systemen an unterschiedlichen Orten befinden. Der Befehl find / -name gconv-modules sollte Abhilfe schaffen.

Mit einer einfachen Einkommentierung der erwähnten Zeichencodierung in der gconv-modules-Konfigurationsdatei sollte die Schwachstelle behoben sein. Die Konfigurationsdatei ist entweder unter ./gconv-modules oder in gconv-modules.d/gconv-modules-extra.conf auffindbar:

# from      to      module    cost                                               
#alias  ISO2022CNEXT//    ISO-2022-CN-EXT//                                      
#module ISO-2022-CN-EXT// INTERNAL    ISO-2022-CN-EXT 1                          
#module INTERNAL    ISO-2022-CN-EXT// ISO-2022-CN-EXT 1

Abschließend noch die evtl. vorhandene Cache-Datei löschen und erneut initiieren:

rm gconv-modules.cache
iconvconfig

Erneut überprüfen, ob das Modul aktiv ist:

iconv -l | grep -E 'CN-?EXT'
Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.