Útočník pronikl do katalogu ContentDB, ze kterého si hráči Luanti stahují mody
Do ContentDB, oficiálního katalogu her, modů a balíčků textur pro otevřenou platformu Luanti (dřív Minetest), se dostal útočník. Od 22. do 26. října měl přístup k e-mailům, hashům hesel i nahraným souborům. Katalog je mimo provoz a tým radí změnit heslo každému, kdo ho používal i jinde.

Tým otevřené herní platformy Luanti, která se dřív jmenovala Minetest, zveřejnil 27. října na svém blogu oznámení o průniku do ContentDB. Je to oficiální katalog, ze kterého se do Luanti stahují hry, mody a balíčky textur, a to i přímo z nabídky ve hře. Útočník se podle oznámení dostal k e-mailům uživatelů, hashům jejich hesel i k nahraným souborům.
Za ContentDB nestojí velká firma. Jeho autor rubenwardy v dubnovém rozboru jiného výpadku píše, že katalog spravuje sám, ve volném čase a bez zisku, na virtuálním serveru za 16 liber měsíčně. Tehdy ho od 3. do 5. dubna zahltilo přes pět milionů požadavků z 2 200 adres a web byl dvanáct hodin mimo provoz.
Bezpečnost Luanti se letos řešila už v srpnu, kdy verze 5.17.0 zavřela cestu, kterou mohl škodlivý mod utéct z izolace. Tehdy šlo o chybu v samotné hře. Teď jde o server, ze kterého se mody stahují.
Útočník měl přístup od 22. do 26. října
Oznámení skládá průběh do pěti časů. U prvního uvádí UTC, u dalších pásmo neopakuje:
| Čas | Co se stalo podle týmu Luanti |
|---|---|
| 22. 10. 13:00 UTC | útočník má přístup k vnitřní konfiguraci ContentDB a přihlásil se pod účtem člena týmu |
| 22. 10. 17:35 | tým nasadil opravu jedné ze dvou zneužitých chyb, o průniku ještě nevěděl |
| 24. 10. 23:00 | útočník začal zkoušet, jestli na serveru spustí vlastní kód |
| 26. 10. 00:15 | útočník spouští příkazy uvnitř kontejneru Docker, má tím plný přístup k databázi a mohl měnit kód, který v kontejneru běžel |
| 26. 10. 09:00 | tým průnik ráno objevil, katalog odpojil a zneplatnil všechny tajné klíče |
Jedna z obou chyb byla podle oznámení v komponentě třetí strany. Tým ji nahlásil jejímu správci a podrobnosti slíbil zveřejnit, až bude opravená. O kterou knihovnu jde, zatím neřekl.
Které údaje mohly uniknout
Útočník měl podle týmu plný přístup k tajným klíčům, databázi, mezipaměti Redis i k nahraným souborům. Týká se to tří skupin údajů:
- uživatelská jména, e-maily a hashe hesel. Hesla jsou uložená jako solené hashe bcrypt, ne v čitelné podobě. Silné a jedinečné heslo se z nich podle týmu získává těžko, slabé nebo běžné jde uhodnout.
- IP adresy lidí, kteří si z ContentDB ve dvou týdnech před 26. říjnem něco stáhli nebo si balíček prohlédli ve hře. K účtům přiřazené nejsou.
- nahrané balíčky a soubory jednotlivých vydání.
S tajným klíčem serveru mohl útočník navíc vystupovat jménem kteréhokoli účtu. Konfigurace mu dovolovala i měnit nahrané soubory a rozesílat e-maily, ale doklad, že to udělal, tým nenašel. Každý nahraný soubor porovnal se zálohami a změnu nezjistil. Vyloučit ale nedokáže, že katalog mezi 22. a 26. říjnem někomu poslal podvržený soubor.
Co mají hráči a autoři modů udělat
Tým radí čtyři věci:
- kdo heslo z ContentDB nebo jemu podobné používá i jinde, má ho tam hned změnit,
- dávat pozor na podvodné e-maily, zvlášť na ty, které se vydávají za zprávy od Luanti,
- kdo si mezi 22. a 26. říjnem z katalogu něco stáhl, může to stáhnout znovu nebo porovnat s původním zdrojem autora či s neoficiálním zrcadlem contentdb.milcho.org,
- po návratu katalogu si každý nastaví nové heslo a vymění přístupové tokeny k API.
Zrcadlo se na titulní straně hlásí, že po říjnovém incidentu všechny soubory ověřilo a že ho jde použít i přímo z Luanti. Tým Luanti tohle tvrzení v oznámení nekomentuje, uvádí zrcadlo jen jako jednu z možností ke srovnání.
Katalog zůstane mimo provoz nejméně týden
Tým podle oznámení vyměňuje zranitelné součásti a pokračuje v bezpečnostním auditu. Jak dlouho to potrvá, uvádí dvakrát jinak: blog píše o týdnu nebo déle, kdežto stránka, kterou adresa content.luanti.org 28. října vrací se stavem 503, o několika týdnech.
Časy z oznámení sedí se záznamy ve veřejném repozitáři ContentDB. Opravu v něm 22. října v 17:35 UTC zapsal sám autor katalogu a 26. října v 9:24 UTC přibyla změna, která dočasně vypíná vytváření vydání z repozitářů Git. Autor modu, který chce vydat novou verzi, musí podle hlášky v kódu nahrát archiv ZIP.
Člen týmu ContentDB s přezdívkou ROllerozxa v diskusi pod článkem GamingOnLinux napsal, že mluví sám za sebe a že tým znovu posoudí všechny knihovny, na kterých web stojí. Předpoklad, že nikdo nebude mít čas procházet kvůli chybám na míru psanou webovou aplikaci i se všemi jejími závislostmi, podle něj už neplatí.
Zdroje
- URGENT: ContentDB security incident: 22–26 October 2026, blog Luanti
- Disable Git releases, commit v repozitáři ContentDB
- Stránka ContentDB o odstávce, content.luanti.org
- Luanti (formerly Minetest) reveal a major ContentDB security incident, GamingOnLinux, včetně diskuse pod článkem
- Analysis of the Luanti ContentDB AI scrapper DDoS attack, blog autora ContentDB
- Luanti ContentDB Mirror, neoficiální zrcadlo katalogu