{"id":"CVE-2026-40959","aliases":["DEBIAN-CVE-2026-40959","EUVD-2026-23149","GHSA-g596-mf82-w8c3","GHSA-wxm2-x9x9-x5mj","MGASA-2026-0185","UBUNTU-CVE-2026-40959","USN-8366-1"],"status":"published","title":"Luanti 5 before 5.15.2, when LuaJIT is used, allows a Lua sandbox escape via a crafted mod.","description":"Luanti 5 before 5.15.2, when LuaJIT is used, allows a Lua sandbox escape via a crafted mod.","severity":{"version":"3.1","score":9.3,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00182,"percentile":0.07801,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-829","CWE-94"],"published":"2026-04-16T00:51:19Z","modified":"2026-10-28T11:13:15Z","fixes":[{"ecosystem":"Debian:13","package":"luanti","fixed_in":["5.10.0+dfsg-5+deb13u1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"luanti","fixed_in":["5.15.2+dfsg-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:25.10","package":"luanti","fixed_in":["5.10.0+dfsg-5+deb13u1build0.25.10.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:26.04:LTS","package":"luanti","fixed_in":["5.10.0+dfsg-5+deb13u1build0.26.04.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:13","package":"luanti","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.10.0+dfsg-5+deb13u1"}]}],"versions":["5.10.0+dfsg-5"]},{"source":"osv","ecosystem":"Debian:14","package":"luanti","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.15.2+dfsg-1"}]}],"versions":["5.10.0+dfsg-5","5.14.0+dfsg-1","5.14.0+dfsg-2","5.14.0+dfsg-3","5.15.1+dfsg-1","5.15.1+dfsg-2"]},{"source":"osv","ecosystem":"Mageia:9","package":"minetest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.7.0-1.1.mga9"}]}],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"luanti","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.10.0+dfsg-5+deb13u1build0.25.10.1"}]}],"versions":["5.10.0+dfsg-5"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"luanti","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.10.0+dfsg-5+deb13u1build0.26.04.1"}]}],"versions":["5.10.0+dfsg-5"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"luanti","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.10.0+dfsg-5+deb13u1build0.25.10.1"}]}],"versions":["5.10.0+dfsg-5"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"luanti","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.10.0+dfsg-5+deb13u1build0.26.04.1"}]}],"versions":["5.10.0+dfsg-5"],"bundled":2}],"products":[{"vendor":"luanti","product":"luanti"},{"vendor":"luanti-org","product":"luanti"}],"references":[{"url":"https://github.com/luanti-org/luanti/security/advisories/GHSA-g596-mf82-w8c3","tags":["advisory","report"]},{"url":"https://github.com/luanti-org/luanti/commit/8a929dfb97aa08337f49ba1bb96a56d6557dc896","tags":["fix","report"]},{"url":"https://github.com/luanti-org/luanti/commit/53cef183e2a85a4daff84ac1a9a7946f940da8f8","tags":["fix","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-40959","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-wxm2-x9x9-x5mj"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/40xxx/CVE-2026-40959.json","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41196.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-41196","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-40959","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0185.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=35422","tags":["report"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2K6QTVDXSL7E72EYONNHDCY7I7LTD27B/","tags":["web"]},{"url":"https://lists.debian.org/debian-security-announce/2026/msg00127.html","tags":["web"]},{"url":"https://github.com/luanti-org/luanti/security/advisories/GHSA-22c4-238c-m5j4","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-40959","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-40959","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-8366-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-40960","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-40959","description":"Luanti 5 before 5.15.2, when LuaJIT is used, allows a Lua sandbox escape via a crafted mod.","status":"published","published":"2026-04-16T00:51:19.52Z","modified":"2026-04-16T12:32:04.767Z","cvss":[{"version":"3.1","score":9.3,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical","assessor":"cna"}],"cwes":["CWE-829"],"updated_at":"2026-11-02T13:43:11.445168Z"}],"euvd":[{"id":"EUVD-2026-23149","description":"Luanti 5 before 5.15.2, when LuaJIT is used, allows a Lua sandbox escape via a crafted mod.","status":"published","published":"2026-04-16T00:51:19Z","modified":"2026-04-16T12:32:04Z","cvss":[{"version":"3.1","score":9.3,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T19:24:24.796113Z"}],"ghsa":[{"id":"GHSA-wxm2-x9x9-x5mj","title":"Luanti 5 before 5.15.2, when LuaJIT is used, allows a Lua sandbox escape via a crafted mod.","description":"Luanti 5 before 5.15.2, when LuaJIT is used, allows a Lua sandbox escape via a crafted mod.","status":"published","published":"2026-04-16T03:31:06Z","modified":"2026-04-16T03:31:13Z","cvss":[{"version":"3.1","score":9.3,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-829"],"updated_at":"2026-11-02T15:07:31.233383Z"}],"nvd":[{"id":"CVE-2026-40959","description":"Luanti 5 before 5.15.2, when LuaJIT is used, allows a Lua sandbox escape via a crafted mod.","status":"published","published":"2026-04-16T01:16:11.617Z","modified":"2026-06-17T10:45:56.22Z","cvss":[{"version":"3.1","score":9.3,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-829"],"updated_at":"2026-11-02T14:12:14.748836Z"}],"osv":[{"id":"CVE-2026-40959","description":"Luanti 5 before 5.15.2, when LuaJIT is used, allows a Lua sandbox escape via a crafted mod.","status":"published","published":"2026-04-16T00:51:19.52Z","modified":"2026-10-28T11:13:15.405049413Z","cvss":[{"version":"3.1","score":9.3,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-829"],"updated_at":"2026-11-02T15:45:03.424067Z"},{"id":"CVE-2026-41196","title":"Luanti has a mod security sandbox escape","description":"Luanti (formerly Minetest) is an open source voxel game-creation platform. Starting in version 5.0.0 and prior to version 5.15.2, a malicious mod can trivially escape the sandboxed Lua environment to execute arbitrary code and gain full filesystem access on the user's device. This applies to the server-side mod, async and mapgen as well as the client-side (CSM) environments. This vulnerability is only exploitable when using LuaJIT. Version 5.15.2 contains a patch. On release versions, one can also patch this issue without recompiling by editing `builtin/init.lua` and adding the line `getfenv = nil` at the end. Note that this will break mods relying on this function (which is not inherently unsafe).","status":"published","published":"2026-04-23T00:28:56.716Z","modified":"2026-10-28T10:49:48.600682717Z","cvss":[{"version":"4.0","score":9,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","level":"critical"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T15:45:03.764807Z"},{"id":"DEBIAN-CVE-2026-40959","description":"Luanti 5 before 5.15.2, when LuaJIT is used, allows a Lua sandbox escape via a crafted mod.","status":"published","published":"2026-04-16T01:16:11.617Z","modified":"2026-10-01T03:03:22.610439578Z","cvss":[{"version":"3.1","score":9.3,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:54.892385Z"},{"id":"UBUNTU-CVE-2026-40959","description":"Luanti 5 before 5.15.2, when LuaJIT is used, allows a Lua sandbox escape via a crafted mod.","status":"published","published":"2026-04-16T01:16:00Z","modified":"2026-06-02T18:15:58.421928493Z","cvss":[{"version":"3.1","score":9.3,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T16:56:16.686388Z"},{"id":"MGASA-2026-0185","title":"Updated minetest packages fix security vulnerabilities","description":"Mod security sandbox escape. (CVE-2026-40959)\nHTTP API and insecure environment access control bypass.\n(CVE-2026-40960)\n","status":"published","published":"2026-06-10T00:39:41Z","modified":"2026-06-10T00:45:06.632308665Z","updated_at":"2026-11-02T15:49:43.178336Z"},{"id":"USN-8366-1","title":"luanti vulnerabilities","description":"It was discovered that Luanti, when using LuaJIT, did not properly\nenforce Lua sandbox restrictions. An attacker could possibly use\nthis issue to execute arbitrary code. (CVE-2026-40959)\n\nIt was discovered that Luanti did not properly restrict access to\ninsecure environments. An attacker could possibly use this issue to\nobtain unintended access to the insecure environment or HTTP API.\n(CVE-2026-40960)","status":"published","published":"2026-06-02T12:48:54Z","modified":"2026-06-02T18:33:04.021274908Z","updated_at":"2026-11-02T16:58:25.103481Z"}]}}
