CVE-2026-66731
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 45 - wyżej niż 45% wszystkich znanych CVE
Streszczenie
Podatność w facil.io w wersjach 0.7.5 do 0.7.6 w parserze kodowania transferu fragmentarycznego HTTP/1.1 pozwala nieuwierzytelnionym zdalnym atakującym na spowodowanie awarii serwera poprzez wysłanie ujemnego rozmiaru fragmentu. Atakujący może wysłać pojedyncze żądanie POST z nagłówkiem Transfer-Encoding: chunked zawierającym znak minus w polu rozmiaru fragmentu, co powoduje obliczenie dużej liczby całkowitej z zanegowanej wartości, uszkodzenie stanu wewnętrznego i przesunięcie wskaźnika odczytu do niezmapowanej pamięci, skutkujące błędem.
Ocena ryzyka
Zdalny atakujący może spowodować awarię serwera, co prowadzi do przerwy w działaniu usługi i potencjalnej utraty dostępności.
Rekomendacja
Zaleca się aktualizację facil.io do wersji 0.7.7 lub nowszej, która zawiera poprawkę dla tego problemu.
Inne podatności w facil.io
Zobacz wszystkie- CVE-2026-41146Wysokie
facil.io przed commit 5128747363055201d3ecf0e29bf0a961703c9fa0 ma podatność na nieskończoną pętlę w funkcji `fio_json_parse` przy napotkaniu zagnieżdżonej wartości JSON zaczynającej się od 'i' lub 'I'. Proces zużywa 100% jednego rdzenia CPU zamiast zwrócić błąd parsowania. Ponieważ `iodine` używa tego samego kodu, również jest podatny.
- CVE-2026-66730Wysokie
Podatność w facil.io w wersjach 0.6.0 do 0.7.6 w parserze treści multipart pozwala nieuwierzytelnionym zdalnym atakującym na trwałe zablokowanie procesów roboczych przy 100% użyciu CPU poprzez wysłanie żądania multipart/form-data z częściowym zamykającym separatorem. Brak zabezpieczenia postępu w pętli parsera powoduje, że http_mime_parse zwraca 0 bajtów bez ustawienia flag done lub error, co prowadzi do nieskończonego wywoływania parsera na tym samym buforze, wyczerpując wszystkie procesy robocze i trwale wyłączając serwer do czasu ręcznego restartu.
- CVE-2026-66729Wysokie
facil.io w wersjach od 0.6.0 do 0.7.6 zawiera podatność polegającą na niedomiarze liczby całkowitej w parserze treści MIME multipart, która pozwala nieuwierzytelnionym zdalnym atakującym na spowodowanie awarii procesu serwera poprzez wysłanie spreparowanego nagłówka Content-Disposition z pustą nazwą pola. Atakujący może wywołać zawinięcie uint32_t w http_mime_parser.h, prowadzące do odczytu pamięci poza zakresem wskaźnika nazwy, co skutkuje błędem magistrali i awarią wątku roboczego przy pojedynczym żądaniu POST.
- CVE-2026-16653Średnie
W projekcie boazsegev facil.io do wersji 0.7.58 włącznie wykryto podatność na path traversal w funkcji http_sendfile2 pliku lib/facil/http/http.c komponentu Public Folder Handler. Manipulacja umożliwia zdalny atak typu path traversal. Exploit został opublikowany.
- CVE-2026-16632Wysokie
W bibliotece facil.io do wersji 0.7.4 stwierdzono podatność w funkcji websocket_on_protocol_error w pliku websocket_parser.h. Manipulacja argumentem on_message prowadzi do nieprawidłowej walidacji wejścia, co może być wykorzystane zdalnie. Projekt nie odpowiedział na zgłoszenie problemu.
Oryginalny opis (angielski, źródło NVD)
facil.io 0.7.5 through 0.7.6 contains a denial-of-service vulnerability in the HTTP/1.1 chunked transfer encoding parser that allows unauthenticated remote attackers to crash the server by sending a negative chunk size value. Attackers can send a single POST request with a Transfer-Encoding: chunked header containing a leading minus sign in the chunk size field, causing the parser in http1_parser.h to compute a large positive integer from the negated value, corrupting internal state and moving the read pointer into unmapped memory resulting in a fault.

