Kritieke fouten in Traccar GPS-systeem stellen gebruikers bloot aan aanvallen op afstand

Er zijn twee beveiligingslekken ontdekt in het open-source GPS-volgsysteem Traccar die mogelijk door niet-geverifieerde aanvallers kunnen worden misbruikt om onder bepaalde omstandigheden code op afstand uit te voeren.

Beide kwetsbaarheden zijn padtraversalfouten en kunnen worden misbruikt als gastregistratie is ingeschakeld. Dit is de standaardconfiguratie voor Traccar 5, aldus Horizon3.ai-onderzoeker Naveen Sunkavally.

Een korte beschrijving van de tekortkomingen is als volgt:

  • CVE-2024-24809 (CVSS-score: 8,5) – Padtraversal: ‘dir/../../bestandsnaam’ en onbeperkt uploaden van bestand met gevaarlijk type
  • CVE-2024-31214 (CVSS-score: 9,7) – Onbeperkte kwetsbaarheid bij het uploaden van bestandsafbeeldingen in het uploaden van apparaatafbeeldingen kan leiden tot uitvoering van externe code

“Het netto resultaat van CVE-2024-31214 en CVE-2024-24809 is dat een aanvaller bestanden met willekeurige inhoud overal op het bestandssysteem kan plaatsen,” aldus Sunkavally. “Een aanvaller heeft echter slechts gedeeltelijke controle over de bestandsnaam.”

De problemen hebben te maken met hoe het programma omgaat met uploads van apparaatafbeeldingsbestanden, waardoor een aanvaller effectief bepaalde bestanden op het bestandssysteem kan overschrijven en code-uitvoering kan activeren. Dit omvat bestanden die voldoen aan de onderstaande naamgevingsindeling:

  • device.ext, waar de aanvaller ext kan besturen, maar er MOET een extensie zijn
  • blah”, waarbij de aanvaller blah kan besturen, maar de bestandsnaam moet eindigen met een dubbele aanhalingsteken
  • blah1″;blah2=blah3, waarbij de aanvaller blah1, blah2 en blah3 kan besturen, maar de dubbele aanhalingstekens en het gelijkteken MOETEN aanwezig zijn
Traccar GPS-systeem

In een hypothetisch proof-of-concept (PoC) bedacht door Horizon3.ai kan een aanvaller de padtraversal in de Content-Type header misbruiken om een ​​crontab-bestand te uploaden en een reverse shell te verkrijgen op de host van de aanvaller.

Deze aanvalsmethode werkt echter niet op Debian/Ubuntu-gebaseerde Linux-systemen vanwege beperkingen op de bestandsnaamgeving. Deze beperkingen verbieden dat crontab-bestanden punten of dubbele aanhalingstekens bevatten.

Een alternatief mechanisme is om te profiteren van de installatie van Traccar als rootgebruiker om een ​​kernelmodule te verwijderen of om een ​​udev-regel te configureren om een ​​willekeurige opdracht uit te voeren telkens wanneer er een hardwaregebeurtenis optreedt.

Op kwetsbare Windows-instanties kan ook externe code-uitvoering worden bereikt door een snelkoppelingsbestand (LNK) met de naam ‘device.lnk’ in de map C:ProgramDataMicrosoftWindowsStart MenuProgramsStartUp te plaatsen. Dit bestand wordt vervolgens uitgevoerd wanneer een gebruiker zich aanmeldt bij de Traccar-host.

Traccar-versies 5.1 tot en met 5.12 zijn kwetsbaar voor CVE-2024-31214 en CVE-2024-2809. De problemen zijn opgelost met de release van Traccar 6 in april 2024, die zelfregistratie standaard uitschakelt en daarmee het aanvalsoppervlak verkleint.

“Als de registratie-instelling true is, readOnly false is en deviceReadonly false is, kan een niet-geverifieerde aanvaller deze kwetsbaarheden misbruiken”, aldus Sunkavally. “Dit zijn de standaardinstellingen voor Traccar 5.”

Thijs Van der Does