Katalog CVE

CVE-2026-43981

WysokieCVSS 8.2
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

Percentyl 8 - wyżej niż 8% wszystkich znanych CVE

Streszczenie

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.

Ocena ryzyka

Współbieżne żądania mogą spowodować uszkodzenie maszyny wirtualnej Lua, co prowadzi do nieprzewidywalnego zachowania serwera, potencjalnie umożliwiając atakującemu wykonanie dowolnego kodu lub spowodowanie awarii.

Rekomendacja

Zaktualizuj Algernon do wersji 1.17.6, która zawiera poprawkę. Rozważ ograniczenie liczby współbieżnych żądań do serwera.

Inne podatności w Algernon

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Algernon is a small self-contained pure-Go web server. Prior to 1.17.6, in engine/luahandler.go, the sync.RWMutex protecting LoadCommonFunctions is released before L.Push() and L.PCall() execute. Since gopher-lua's LState is explicitly not goroutine-safe, concurrent requests race on the shared state causing Lua VM corruption. The Go race detector confirms this immediately under modest concurrency (ab -n 1000 -c 100). This vulnerability is fixed in 1.17.6.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS