Moduły JSON:API oraz REST/File w Drupal nie wykonują poprawnie wszystkich reguł walidacji przesyłanych plików, co prowadzi do obejścia mechanizmów kontroli dostępu. Podatność umożliwia nieuwierzytelnionemu atakującemu przesłanie plików, które normalnie zostałyby odrzucone przez zainstalowane moduły walidacyjne.
▸ Pokaż oryginał (EN)
Drupal's JSON:API and REST/File modules allow file uploads through their HTTP APIs. The modules do not correctly run all file validation, which causes an access bypass vulnerability. An attacker might be able to upload files that bypass the file validation process implemented by modules on the site.
Moduły JSON:API i REST/File udostępniają interfejsy HTTP API umożliwiające przesyłanie plików na serwer. Wskutek błędu implementacyjnego nie wszystkie reguły walidacji plików są uruchamiane podczas obsługi tych żądań. Atakujący może wysłać spreparowane żądanie HTTP z plikiem, który pomija logikę walidacji zdefiniowaną przez moduły zainstalowane w witrynie, co skutkuje zapisaniem niedozwolonego pliku na serwerze.
Atakujący może przesłać na serwer pliki niedopuszczone przez politykę bezpieczeństwa witryny, w tym potencjalnie złośliwe pliki wykonywalne, co może prowadzić do przejęcia kontroli nad aplikacją, ujawnienia danych lub naruszenia integralności systemu.
Należy zastosować patche dostępne u producenta zgodnie z referencjami — patrz komunikat bezpieczeństwa Drupal SA-CORE-2021-008 dostępny pod adresem https://www.drupal.org/sa-core-2021-008
Drupal — wersje wskazane w referencjach producenta (komunikat bezpieczeństwa SA-CORE-2021-008); dotyczy instalacji korzystających z modułów JSON:API lub REST/File
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDrupal
APPDrupal8.0.0 – 8.9.19 (bez)9.1.0 – 9.1.13 (bez)9.2.0 – 9.2.6 (bez)
Powiązane podatności
RCE w Drupal 7.x i 8.x — zdalne wykonanie kodu (Drupalgeddon2 follow-up)
Drupalgeddon 2 — zdalne wykonanie kodu w Drupal (RCE)
Deserializacja niezaufanych danych w Drupal Core umożliwia RCE
Deserialization podatności w Drupal Core umożliwiająca RCE (Object Injection)
Deserialization gadget chain w Drupal Core umożliwiający RCE