Niska

Twig: Sandbox property allowlist bypass via the `column` filter (array_column on objects)

  • Ujawniono: 21.05.2026
  • Aktualizacja: 11.10.2026 10:22

Description

The column filter passes its input straight to PHP's native array_column(). When the array elements are objects, array_column() reads $obj->$name (and $obj->$index) directly, including invoking __get/__isset. Because this property read happens entirely in PHP native code and never reaches CoreExtension::getAttribute(), SandboxExtension::checkPropertyAllowed() is never consulted.

An untrusted template author with column in their allowedFilters list can therefore read any public or magic property of any object reachable in the render context, regardless of the SecurityPolicy allowedProperties list. This is a variant of CVE-2024-51755 / GHSA-jjxq-ff2g-95vh that the ArrayAccess-focused fix did not cover.

Resolution

The column filter now routes object property reads through the sandbox-aware attribute accessor so the property allowlist is enforced.

Credits

Twig: would like to thank Claude Mythos Preview (via Project Glasswing) for reporting the issue and providing the fix.

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka Composer twig/twig < 3.26.0 3.26.0

Odnośniki

Ocena CVSS -
Wektor CVSS
CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Słabość (CWE)
CWE-863
Platforma
Composer
Paczka
twig/twig
Ujawniono
21.05.2026
Aktualizacja
11.10.2026 10:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-vcc8-phrv-43wj - CC BY 4.0

Historia podatności: twig/twig

Wszystkie opisane podatności tej paczki (Paczka Composer), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (24) w archiwum
Wszystkich wpisów
24
Pierwsza → ostatnia
02.2022 07.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 1
  • Wysoka 8
  • Średnia 8
  • Niska 7

Ujawnienia w latach

  1. 2022: 4
  2. 2023: 0
  3. 2024: 4
  4. 2025: 1
  5. 2026: 15
Istotność:
  1. Wysoka · 8.8 CVE-2026-24425 >= 2.16.0, <= 2.16.1, >= 3.9.0, < 3.26.0 3.26.0
  2. Wysoka CVE-2026-46639 >= 3.24.0, < 3.26.0 3.26.0
  3. Twig: Sandbox property allowlist bypass via the `column` filter (array_column on objects) ten wpis
    Niska CVE-2026-46635 < 3.26.0 3.26.0
  4. Krytyczna CVE-2026-46633 < 3.26.0 3.26.0
  5. Wysoka · 7.5 CVE-2022-39261 >= 1.0.0, < 1.44.7, >= 2.0.0, < 2.15.3, >= 3.0.0, < 3.4.3 1.44.7, 2.15.3, 3.4.3
  6. Wysoka · 8.1 CVE-2015-7809 < 1.20.0 1.20.0
  7. Wysoka · 8.8 CVE-2022-23614 >= 2.0.0, < 2.14.11, >= 3.0.0, < 3.3.8 2.14.11, 3.3.8

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.