CVE-2026-52792
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 44 - wyżej niż 44% wszystkich znanych CVE
Streszczenie
Algernon, mały samodzielny serwer WWW napisany w Go, przed wersją 1.17.9, na systemach Windows zawiera podatność polegającą na nieprawidłowym wyborze obsługi plików dla nazw równoważnych NTFS, takich jak x.lua::$DATA. Nieuwierzytelniony klient może uzyskać dostęp do surowego kodu źródłowego skryptów serwerowych, co może ujawnić dane uwierzytelniające bazy danych, klucze API i wartość SetCookieSecret.
Ocena ryzyka
Ryzyko polega na możliwości ujawnienia wrażliwych danych, takich jak hasła i klucze, oraz potencjalnym fałszowaniu sesji, co może naruszyć bezpieczeństwo aplikacji i danych.
Rekomendacja
Zaleca się aktualizację Algernon do wersji 1.17.9 lub nowszej, która zawiera poprawkę.
Inne podatności w Algernon
Zobacz wszystkie- CVE-2026-45721Krytyczne
Algernon przed wersją 1.17.7 ma podatność w funkcji DirPage, która przy żądaniu katalogu bez pliku indeksu przeszukuje katalogi nadrzędne (poza skonfigurowanym korzeniem serwera) w poszukiwaniu pliku handler.lua. Znaleziony plik jest wykonywany z pełnym dostępem do API Algernon, co pozwala na zdalne wykonanie kodu bez uwierzytelnienia.
- CVE-2026-48126Wysokie
Algernon przed wersją 1.17.8, gdy uruchomiony z opcją --domain (lub --letsencrypt), rozpoznaje katalog serwowany poprzez łączenie skonfigurowanego --dir z wartością nagłówka Host dostarczonego przez klienta bez walidacji, co umożliwia atakującym odczyt dowolnych plików, wyświetlenie listy katalogów i wykonanie kodu Lua po stronie serwera.
- CVE-2026-46431Średnie
Algernon przed wersją 1.17.7 ma podatność w serwerze SSE, gdzie nagłówek Access-Control-Allow-Origin jest ustawiony na '*' niezależnie od pochodzenia żądania. Umożliwia to stronom trzecim odczyt strumienia nazw plików przez JavaScript.
- CVE-2026-46430Średnie
Serwer WWW Algernon przed wersją 1.17.7 domyślnie wiązał serwer zdarzeń SSE z adresem 0.0.0.0:5553 na Linux/macOS, co umożliwiało dostęp z zewnątrz. Luka została naprawiona w wersji 1.17.7.
- CVE-2026-45728Wysokie
W Algernon przed 1.17.7, gdy uruchomiony jest z pojedynczym plikiem, tryb debugowania ujawnia pełną ścieżkę i zawartość pliku źródłowego w odpowiedzi na błąd. Każdy klient może wywołać błąd i uzyskać kod źródłowy.
- CVE-2026-43982Wysokie
Algernon przed wersją 1.17.6 zawiera podatność w funkcji uploadedFileSaveIn() w lua/upload/upload.go, która używa filepath.Join() z katalogiem dostarczonym przez wywołującego bez sprawdzania granic po połączeniu, umożliwiając zapis plików poza katalogiem głównym serwera.
- CVE-2026-43981Wysokie
Algernon, mały serwer WWW napisany w Go, w wersjach przed 1.17.6, ma podatność w engine/luahandler.go, gdzie sync.RWMutex chroniący LoadCommonFunctions jest zwalniany przed wykonaniem L.Push() i L.PCall(). Ponieważ LState gopher-lua nie jest bezpieczny dla współbieżności, współbieżne żądania powodują wyścig na współdzielonym stanie, prowadząc do uszkodzenia maszyny wirtualnej Lua.
Oryginalny opis (angielski, źródło NVD)
Algernon is a small self-contained pure-Go web server. Prior to 1.17.9, Algernon on Windows selects a file handler in engine/handlers.go by calling filepath.Ext() without first rejecting NTFS-equivalent names such as x.lua::$DATA, x.lua., and x.lua . An unauthenticated client can append one of these suffixes to a public server-side script using the .lua, .tl, .po2, .amber, or .frm extension. The request path passes through URL2filename in utils/files.go, skips the renderer and execution cases, and reaches FilePage, os.Open, ReadAndLogErrors, and ToClient, while NTFS resolves the alias to the underlying script. The server consequently returns raw script source and can expose database credentials, API keys, and the SetCookieSecret value, which may permit forged session cookies. Linux and macOS hosts are not affected by this issue. This issue is fixed in version 1.17.9.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

