HIGH🇬🇧 English

CVE-2026-66730

DoS przez nieskończoną pętlę w parserze multipart w facil.io

CVSS 8.7v4.0pub. 2026-07-27upd. 2026-07-31

Biblioteka facil.io w wersjach 0.6.0–0.7.6 zawiera podatność typu denial-of-service w parserze ciała multipart, umożliwiającą nieuwierzytelnionemu zdalnemu atakującemu trwałe zamrożenie procesów roboczych serwera. Wysłanie jednego spreparowanego żądania HTTP może całkowicie wyłączyć serwer do czasu ręcznego restartu.

Pokaż oryginał (EN)

facil.io 0.6.0 through 0.7.6 contains a denial-of-service vulnerability in the multipart body parser that allows an unauthenticated remote attacker to permanently freeze worker processes at 100% CPU by sending a multipart/form-data request with a partial closing boundary. The missing progress guard in the parser loop causes http_mime_parse to return 0 bytes consumed without setting done or error flags, causing the calling loop to re-invoke the parser on the same buffer indefinitely, exhausting all workers and permanently disabling the server until manually restarted.

🤖 Analiza AI
Jak działa

Atakujący wysyła żądanie HTTP z nagłówkiem Content-Type: multipart/form-data zawierające niekompletną (częściową) granicę zamykającą (closing boundary). W pętli przetwarzania ciała żądania funkcja http_mime_parse zwraca 0 przetworzonych bajtów, nie ustawiając przy tym flagi zakończenia (done) ani błędu (error). Brak zabezpieczenia postępu pętli (progress guard) powoduje, że pętla wywołująca parser jest wywoływana wielokrotnie na tym samym buforze w nieskończoność, co prowadzi do zajęcia 100% CPU przez wszystkie procesy robocze (worker processes) i trwałego unieruchomienia serwera.

Skutki

Atakujący może trwale zablokować wszystkie procesy robocze serwera opartego na facil.io, powodując pełną niedostępność usługi (100% CPU) do czasu ręcznego restartu aplikacji. Podatność jest wyzwalana przez jednego nieuwierzytelnionego użytkownika bez żadnych uprawnień.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Do czasu aktualizacji zaleca się wdrożenie filtrowania lub ograniczania żądań multipart/form-data na poziomie reverse proxy lub firewall, aby ograniczyć ryzyko eksploatacji.

Kogo dotyczy

facil.io w wersjach od 0.6.0 do 0.7.6 włącznie

Uwagi

Szczegółowy opis techniczny podatności wraz z kodem proof-of-concept jest publicznie dostępny pod adresem wskazanym w referencjach (github.com/theopaid oraz tpaidakis.com). Obecność publicznego exploitu zwiększa ryzyko praktycznego wykorzystania podatności.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje