CRITICAL🇬🇧 English

CVE-2021-38384

Serverless Offline: błędny kod HTTP dla tras z trailing slash prowadzi do wadliwej kontroli dostępu

CVSS 9.8v3.1pub. 2021-08-10upd. 2024-11-21

Serverless Offline 8.0.0 zwraca kod HTTP 403 dla tras kończących się znakiem '/', podczas gdy rzeczywiste środowisko Amazon AWS zwraca kod 200. Rozbieżność ta może skłonić dewelopera do wdrożenia nieprawidłowej logiki kontroli dostępu, skutkującej nadmiernym przyznaniem uprawnień w środowisku produkcyjnym.

Pokaż oryginał (EN)

Serverless Offline 8.0.0 returns a 403 HTTP status code for a route that has a trailing / character, which might cause a developer to implement incorrect access control, because the actual behavior within the Amazon AWS environment is a 200 HTTP status code (i.e., possibly greater than expected permissions).

🤖 Analiza AI
Jak działa

Narzędzie Serverless Offline służy do lokalnego emulowania środowiska AWS Lambda i API Gateway. W wersji 8.0.0 żądania kierowane do tras zawierających końcowy znak '/' (trailing slash) są obsługiwane niezgodnie ze specyfikacją AWS — lokalnie zwracany jest kod 403 (Forbidden), podczas gdy AWS odpowiada kodem 200 (OK). Deweloper testujący aplikację lokalnie może błędnie uznać, że dostęp do takiej trasy jest blokowany, i pominąć właściwą implementację mechanizmów autoryzacji. W środowisku produkcyjnym AWS trasa ta pozostaje jednak dostępna, co prowadzi do nieświadomego otwarcia zasobu bez odpowiedniej ochrony.

Skutki

Atakujący może uzyskać nieautoryzowany dostęp do zasobów API (potencjalnie z pełnym zakresem uprawnień: odczyt, zapis, wpływ na dostępność), jeśli deweloper zaniechał implementacji kontroli dostępu dla tras z trailing slash w oparciu o błędne założenia wynikające z testów lokalnych.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dodatkowo zaleca się weryfikację logiki kontroli dostępu dla wszystkich tras API — zarówno z trailing slash, jak i bez — bezpośrednio w środowisku AWS, nie opierając się wyłącznie na wynikach testów lokalnych w Serverless Offline.

Kogo dotyczy

Serverless Offline w wersji 8.0.0 (projekt Serverless Offline Project)

Uwagi

Podatność ma charakter rozbieżności behawioralnej między emulatorem a rzeczywistym środowiskiem AWS, co klasyfikuje ją jako problem z nieprawidłową obsługą wyjątków (CWE-755). Ryzyko materializuje się wyłącznie wtedy, gdy deweloper podejmie decyzje projektowe o kontroli dostępu na podstawie zachowania lokalnego emulatora bez weryfikacji w AWS.

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

    APP
    Serverless Offline Project
    8.0.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje