Kritieke kwetsbaarheid stelt Fortinet FortiWeb bloot aan volledige overname (CVE-2025-25257)

WatchTowr Labs onthult CVE-2025-25257, een kritieke FortiWeb SQL-injectie die ongeauthenticeerde uitvoering van code op afstand mogelijk maakt. Patch uw FortiWeb 7.0-, 7.2-, 7.4- en 7.6-apparaten onmiddellijk om volledige systeemcompromittering te voorkomen. Werk NU bij!
Cybersecurityonderzoekers hebben een grote zwakte, CVE-2025-25257 , ontdekt in een belangrijk onderdeel van de beveiligingssoftware van Fortinet: de FortiWeb Fabric Connector . Deze is essentieel voor het koppelen van de webapplicatiefirewall van Fortinet (FortiWeb) met andere beveiligingstools, waardoor dynamische bescherming mogelijk is.
De kwetsbaarheid werd aanvankelijk aan Fortinet gemeld door Kentaro Kawane van GMO Cybersecurity by Ierae. De daaropvolgende demonstratie van het escaleren van de kwetsbaarheid naar volledige systeemcontrole werd uitgevoerd en gepubliceerd door watchTowr Labs, en de bevindingen werden exclusief gedeeld met Hackread.com.
Dit is een fout in de vorm van 'niet-geverifieerde SQL-injectie in de GUI', wat betekent dat aanvallers misbruik kunnen maken van een zwakte in de beheerinterface van het systeem zonder dat ze een gebruikersnaam of wachtwoord nodig hebben. Zo kunnen ze het FortiWeb-systeem misleiden om hun eigen schadelijke opdrachten uit te voeren door speciaal ontworpen verzoeken via internet te versturen.
WatchTowr Labs ontdekte dit verborgen probleem door FortiWeb versie 7.6.4 te vergelijken met een oudere versie, 7.6.3. Ze ontdekten de zwakke plek in de functie get_fabric_user_by_token in het programma /bin/httpsd
. Deze functie, bedoeld voor logins vanaf andere Fortinet-apparaten zoals FortiGate-firewalls, kon inkomende informatie niet goed controleren, waardoor schadelijke opdrachten met de header Authorisation: Bearer konden worden geïnjecteerd in verzoeken aan /api/fabric/device/status
.
De eerste pogingen waren lastig vanwege beperkingen zoals het niet toestaan van spaties in commando's. Onderzoekers omzeilden dit echter slim met behulp van de commentaarsyntaxis van MySQL (/**/)
. Hierdoor slaagde de SQL-injectie erin, en konden ze de logincontrole zelfs volledig omzeilen met een simpele 'or'1'='1
opdracht, die een "200 OK"-bericht retourneerde ter bevestiging van het succes.
Onderzoekers slaagden erin deze initiële SQL-injectie te escaleren tot Remote Code Execution (RCE). Ze deden dit met behulp van de INTO OUTFILE-instructie van MySQL om bestanden rechtstreeks naar de directory van het systeem te schrijven. Een cruciale bevinding was dat het databaseproces met rootrechten draaide, waardoor het schadelijke bestanden bijna overal kon plaatsen.
Hoewel directe uitvoering niet mogelijk was, maakten ze gebruik van een bestaand Python-script in de map /cgi-bin
dat automatisch met hoge rechten werd uitgevoerd. Door een speciaal Python-bestand (.pth) naar een specifieke Python-directory te schrijven, konden ze het systeem dwingen hun eigen Python-code uit te voeren, wat een complete systeemcompromis aantoonde.
Bij misbruik kan een aanvaller volledige controle krijgen over uw FortiWeb-apparaat en mogelijk andere verbonden systemen. Dit kan leiden tot diefstal van gevoelige gegevens, verstoring van de dienstverlening of het gebruik van uw systemen voor verdere aanvallen, wat kan leiden tot aanzienlijke financiële, reputatie- en juridische schade.
Om beschermd te blijven, moet u uw FortiWeb-systeem onmiddellijk bijwerken naar de gepatchte versie . Als een onmiddellijke update niet haalbaar is, stelt Fortinet voor om de HTTP/HTTPS-beheerinterface tijdelijk uit te schakelen als tijdelijke oplossing.
Hier vindt u details over de getroffen FortiWeb-versies:
- 7.6.0 tot en met 7.6.3 (upgrade naar 7.6.4 of nieuwer)
- 7.4.0 tot en met 7.4.7 (upgrade naar 7.4.8 of nieuwer)
- 7.2.0 tot en met 7.2.10 (upgrade naar 7.2.11 of nieuwer)
- 7.0.0 tot en met 7.0.10 (upgrade naar 7.0.11 of nieuwer)
HackRead