Evidente un overflow del buffer in Perl, legato alla gestione dei caratteri

Sono stati pubblicati aggiornamenti correttivi per l'interprete Perl 5.40.2 e 5.38.4, che risolvono una vulnerabilità (CVE-2024-56406) che porta a un overflow del buffer durante la translitterazione di caratteri non ASCII formattati specificamente usando l'operatore «tr/.. /.. /». Non si esclude la possibilità di sfruttare la vulnerabilità per eseguire codice arbitrario nel sistema. Il problema si manifesta nelle versioni stabili di Perl a partire dal 2021 e coinvolge i rami Perl 5.34, 5.36, 5.38 e 5.40. È possibile monitorare la risoluzione della vulnerabilità nelle distribuzioni sulle seguenti pagine: Debian, Ubuntu, Fedora, Arch, FreeBSD. Le distribuzioni basate su RHEL 9, SUSE 15 e openSUSE Leap 15.6 non sono vulnerabili, poiché includono le versioni Perl 5.32 e 5.26.

La vulnerabilità riguarda i programmi che utilizzano dati esterni non controllati nella parte sinistra dell'operatore «tr», dove viene specificata la variabile con i dati per la sostituzione dei caratteri (ad esempio, «$external_string =~ tr/a/b/»). Nella funzione S_do_trans_invmap() che gestisce il funzionamento dell'operatore, durante l'elaborazione di alcuni byte non ASCII si verifica un accesso alla memoria al di fuori del buffer allocato. L'overflow si verifica perché alcune sequenze di byte nel set di dati originale possono essere convertite in sequenze UTF-8, per le quali è necessario due byte invece di uno.

È interessante notare che la vulnerabilità è emersa dopo una modifica apportata nel 2020, che ha rimosso il controllo aggiuntivo sull'allocazione della memoria, sostenendo che durante il calcolo della dimensione è sufficiente arrotondare la dimensione per eccesso. Per controllare la presenza della vulnerabilità, è possibile eseguire il seguente codice: perl -e ‘$_ = «\x{FF}» x 1000000; tr/\xFF/\x{100}/;’ Segmentation fault (core dumped)

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster