Datalek
Hoe het datalek gebeurde
Waar de gepubliceerde data vandaan kwam, en waarom het eigen paneel van Exoliner daarvoor openstond.
Waar de data vandaan kwam
De export van het paneel (28 september 2026)
Alles op deze site is geëxporteerd via het eigen modpaneel van Exoliner: gebruikersaccounts, scriptlogs, Discord-ticketgesprekken, moderatiegegevens en de eigen statistiekensnapshot van het paneel. De export is gemaakt via meerdere ophaalacties op staff-niveau uit meer dan één bron.
Gekoppeld aan een eerder lek (juni 2025)
Een oudere database-export van Exoliner uit juni 2025 is erbij gevoegd om hiaten in de export van het paneel op te vullen: duizenden e-mailadressen van accounts, Discord-ID's, gekoppelde Roblox-ID's, vlaggen voor geverifieerde e-mail en de exacte aanmelddatums die nu op de accountpagina staan.
Waarom het mogelijk was
Een onafhankelijke securityassessment van het paneel en de API van Exoliner stelde vast dat elk account met staff-rang platformbrede acties zonder audit kon uitvoeren, zonder exportlimieten en zonder auditmeldingen. De gegevens hieronder gaan alleen over het paneel en de API. De assessment merkt op dat de hoofdwebsite nog meer problemen bevat die hier niet zijn opgenomen.
Waarom het mogelijk was
De assessment vond geen toegang voor een buitenstaander. De blootstelling die het beschrijft is de impact bij misbruik: elk account met staff-rang kon schrijfacties zonder audit uitvoeren op de configuratie van het hele platform, waaronder een actie die de executor van alle gebruikers tegelijk kon breken.
Wat de assessment vond
Elke bevinding komt uit de assessment van het paneel en de API van Exoliner. De hoofdwebsite valt hier niet onder, en volgens de assessment bevat die nog meer problemen.
Kritiek
1Globale offsets overschrijven zonder audit
C-1De assessment meldt dat PUT /v1/staff/offsets elk staff-token accepteerde, zonder eigenaarscontrole en zonder auditregel. Eén verzoek verving de offsets waar de executor van elke gebruiker van afhangt. Tijdens het testen gingen de totale offsets in één call van 401 naar 1, zonder voorbeeld, bevestiging of goedkeuring.
Hoog
3Elk supportgesprek leesbaar via ID
H-1GET /v1/staff/tickets/{id}/transcript geeft naar verluidt elk ticket terug via een oplopend geheel getal, zonder eigenaarscontrole, waardoor volledige privégesprekken inclusief Discord-gebruikers-ID's en bijlagen zichtbaar zijn.
Scripts verwijderen kan via staff
H-2DELETE /v1/scripts/delete gaf naar verluidt succes terug op een staff-token zonder eigenaarscontrole, waardoor elk script via ID te verwijderen was, zonder soft-delete of auditregel.
Geen ratelimit op het uitlezen van hele tabellen
H-3De assessment meldt dat de hele gebruikerstabel, 13.483 records, in 135 verzoeken binnen 25 seconden is uitgelezen, zonder één ratelimit-respons.
Gemiddeld
5Geen extra 2FA bij bevoorrechte schrijfacties
M-1Offsets, execute, strike, game-schakelaars, maximaal aantal spelers, AI-reviewinstellingen, moderation intel en chat-mute accepteren naar verluidt allemaal een kaal bearer-token, dus een gestolen sessie heeft geen tweede factor nodig.
Tokens van 30 dagen, geen afgedwongen noodknop
M-2Tokens gelden naar verluidt precies 30 dagen zonder refresh-endpoint, en het veld authVersion, waarmee één actie alle sessies zou kunnen intrekken, wordt wel teruggegeven maar niet aan de serverkant afgedwongen.
Anti-detectieregels aanpasbaar door elke staff
M-3De moderation-intel-endpoints met de anti-detectieregels van Exoliner accepteren naar verluidt aanmaken en verwijderen vanaf elk staff-account, waardoor die regels uitgeschakeld of beschadigd konden worden.
Verwijderde privéberichten zichtbaar voor staff
M-4Het chat-audit-endpoint toont naar verluidt verwijderde privéberichten volledig aan elke staff, met de inhoud van het bericht, het ID van de ontvanger en het staff-lid dat het verwijderde.
Blootstelling van data op staff-niveau
M-5Staff-endpoints lekken naar verluidt een omzetschatting, de exacte rangverdeling, Discord-ID's, het volledige moderatielog en latentie en serveraantallen per place.
Laag
5Zwak content-security-policy in de frontend
L-1Het frontendbeleid staat naar verluidt unsafe-inline en unsafe-eval toe zonder nonce, dus elke cross-site-scripting-kwetsbaarheid kon een staff-sessie uit de local storage lezen.
Kapotte gebruikerszoekfunctie
L-2Elke zoekparameter op het users-endpoint wordt naar verluidt genegeerd en geeft steeds dezelfde ongefilterde eerste pagina terug, waardoor staff mogelijk op de verkeerde accounts handelt.
Openbare informatielekkage
L-3Health- en stats-endpoints zonder authenticatie lekken naar verluidt uptime en actuele totalen, en uniforme 404-antwoorden maken het mogelijk de routetabel uit te lezen.
Serverfouten door type-verwarring
L-4Invoer die geen string is veroorzaakt naar verluidt onafgehandelde 500-fouten op meerdere endpoints. De foutantwoorden blijven schoon, dus dit gaat over betrouwbaarheid en niet over lekkage.
Dubbele backend-hostnaam
L-5Twee hostnamen serveren naar verluidt dezelfde routes en autorisatie vanuit hetzelfde proces, wat het aanvalsoppervlak verdubbelt en een allowlist per host omzeilbaar maakt via de tweeling.
Liever het doorzoekbare archief? Bekijk de accounts