W funkcji Psych::Emitter start_document w języku Ruby istnieje podatność typu heap buffer overflow (przepełnienie sterty), sklasyfikowana jako krytyczna z wynikiem CVSS 9.8. Atakujący może wywołać przepełnienie bufora sterty poprzez sprytnie skonstruowany obiekt, potencjalnie prowadząc do przejęcia kontroli nad procesem.
▸ Pokaż oryginał (EN)
An exploitable heap overflow vulnerability exists in the Psych::Emitter start_document function of Ruby. In Psych::Emitter start_document function heap buffer "head" allocation is made based on tags array length. Specially constructed object passed as element of tags array can increase this array size after mentioned allocation and cause heap overflow.
Funkcja start_document z biblioteki Psych::Emitter alokuje bufor sterty o nazwie 'head' na podstawie długości tablicy tags. Jeśli jako element tej tablicy zostanie przekazany specjalnie spreparowany obiekt, może on spowodować zwiększenie rozmiaru tablicy już po dokonaniu alokacji bufora. Skutkuje to klasycznym heap overflow — zapis poza granicami przydzielonego obszaru pamięci (CWE-787 — out-of-bounds write).
Atakujący, który dostarczy specjalnie skonstruowany obiekt, może spowodować przepełnienie bufora sterty i potencjalnie uzyskać możliwość wykonania dowolnego kodu (RCE) w kontekście procesu Ruby, a także wpłynąć na poufność, integralność i dostępność systemu.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dla systemów Debian należy wdrożyć aktualizacje opisane w komunikacie debian-lts-announce z marca 2020 roku.
Ruby (Ruby-Lang Ruby) oraz Debian Linux — konkretne wersje wskazane w referencjach producenta i komunikatach Debian LTS
Podatność została pierwotnie zgłoszona przez Talos Intelligence (raport TALOS-2016-0032), mimo że identyfikator CVE został opublikowany formalnie w 2022 roku.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDebian
OSDebian8.0Ruby Lang Ruby
APPRuby-Lang2.2.22.3.0
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki