CVE Catalog

CVE-2026-43981

HighCVSS 8.2
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.18%

8th percentile - higher than 8% of all known CVEs

Summary

Algernon, a small self-contained pure-Go web server, prior to version 1.17.6, has a vulnerability in engine/luahandler.go where the sync.RWMutex protecting LoadCommonFunctions is released before L.Push() and L.PCall() execute. Since gopher-lua's LState is not goroutine-safe, concurrent requests race on the shared state, causing Lua VM corruption.

Risk Assessment

Concurrent requests can corrupt the Lua VM, leading to unpredictable server behavior, potentially allowing an attacker to execute arbitrary code or cause a crash.

Recommendation

Update Algernon to version 1.17.6, which contains the fix. Consider limiting the number of concurrent requests to the server.

Other vulnerabilities in Algernon

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS