CRITICAL🇬🇧 English

CVE-2021-41556

Squirrel Engine: out-of-bounds read umożliwiający ucieczkę z sandbox i RCE

CVSS 10.0v3.1pub. 2022-07-28upd. 2026-05-29

Podatność w pliku sqclass.cpp interpretera Squirrel (wersje do 2.2.5 oraz 3.x do 3.1) pozwala na odczyt poza granicami bufora (out-of-bounds read), co może prowadzić do wykonania dowolnego kodu (RCE). Szczególnie groźna jest możliwość ucieczki z sandbox skryptowego nawet przy wyłączonych wszystkich niebezpiecznych funkcjach, takich jak operacje na systemie plików.

Pokaż oryginał (EN)

sqclass.cpp in Squirrel through 2.2.5 and 3.x through 3.1 allows an out-of-bounds read (in the core interpreter) that can lead to Code Execution. If a victim executes an attacker-controlled squirrel script, it is possible for the attacker to break out of the squirrel script sandbox even if all dangerous functionality such as File System functions has been disabled. An attacker might abuse this bug to target (for example) Cloud services that allow customization via SquirrelScripts, or distribute malware through video games that embed a Squirrel Engine.

🤖 Analiza AI
Jak działa

Błąd znajduje się w rdzeniu interpretera Squirrel — w pliku sqclass.cpp. Atakujący przygotowuje specjalnie spreparowany skrypt Squirrel, którego wykonanie przez ofiarę wywołuje odczyt danych spoza przydzielonego obszaru pamięci (out-of-bounds read). Dzięki temu możliwe jest wyjście poza izolowane środowisko wykonawcze (sandbox) Squirrel, niezależnie od tego, czy administrator wyłączył dostęp do funkcji systemowych. Efektem końcowym może być przejęcie kontroli nad procesem wykonującym skrypt i wykonanie arbitralnego kodu.

Skutki

Atakujący może wykonać dowolny kod w kontekście aplikacji uruchamiającej interpreter Squirrel, w tym przełamać mechanizm sandbox. Umożliwia to potencjalne przejęcie usług chmurowych obsługujących skrypty Squirrel oraz dystrybucję złośliwego oprogramowania przez gry wideo wbudowujące silnik Squirrel.

Mitygacja

Należy zaktualizować bibliotekę Squirrel do wersji zawierającej poprawkę dostępną w repozytorium projektu (commit 23a0620658714b996d20da3d4dd1a0dcf9b0bd98 na GitHub). Użytkownicy dystrybucji Fedora powinni zastosować aktualizacje dostarczone przez projekt Fedora zgodnie z komunikatami bezpieczeństwa wskazanymi w referencjach. Operatorzy usług chmurowych i twórcy gier osadzających silnik Squirrel powinni priorytetowo wdrożyć aktualizację.

Kogo dotyczy

Squirrel w wersjach do 2.2.5 oraz 3.x do 3.1 włącznie; pakiety Squirrel dostępne w dystrybucji Fedora Linux

Uwagi

Podatność została opisana przez badaczy SonarSource (blog.sonarsource.com). Scenariusze ataku wymienione w opisie to m.in. usługi chmurowe obsługujące customizację przez SquirrelScripts oraz gry wideo z wbudowanym silnikiem Squirrel.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • Fedora Project Fedora

    OS
    Fedoraproject
    3536
  • Squirrel Lang Squirrel

    APP
    Squirrel-Lang
    ≤ 2.2.53.0 – 3.1
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEMemory
CWE
Referencje

Powiązane podatności

CVE-2024-4577CRITICAL9.8⚠ KEVPL ✓ten sam produkt

PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit

CVE-2024-5274CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Type Confusion w V8 (Google Chrome) — RCE przez spreparowaną stronę HTML

CVE-2024-4947CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Type Confusion w silniku V8 Chrome — zdalne wykonanie kodu (RCE)

CVE-2024-4671CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Use-after-free w Google Chrome Visuals umożliwiający ucieczkę z sandbox

CVE-2023-6345CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Integer overflow w Skia w Google Chrome — sandbox escape