Cybersecurity-onderzoekers hebben zes beveiligingsfouten in het kunstmatige intelligentie (AI)-framework van Ollama onthuld die door een kwaadwillende actor kunnen worden uitgebuit om verschillende acties uit te voeren, waaronder denial-of-service, modelvergiftiging en modeldiefstal.
“Gezamenlijk kunnen de kwetsbaarheden een aanvaller in staat stellen een breed scala aan kwaadaardige acties uit te voeren met een enkel HTTP-verzoek, waaronder Denial-of-Service (DoS)-aanvallen, modelvergiftiging, modeldiefstal en meer”, zegt Oligo Security-onderzoeker Avi. Dat zei Lumelsky in een vorige week gepubliceerd rapport.
Ollama is een open-sourceapplicatie waarmee gebruikers grote taalmodellen (LLM’s) lokaal kunnen implementeren en gebruiken op Windows-, Linux- en macOS-apparaten. De projectrepository op GitHub is tot nu toe 7.600 keer geforkt.
Hieronder vindt u een korte beschrijving van de zes kwetsbaarheden:
- CVE-2024-39719 (CVSS-score: 7,5) – Een kwetsbaarheid die een aanvaller kan misbruiken door /api/create an endpoint te gebruiken om het bestaan van een bestand op de server te bepalen (opgelost in versie 0.1.47)
- CVE-2024-39720 (CVSS-score: 8,2) – Een leeskwetsbaarheid buiten het bereik die ertoe kan leiden dat de applicatie crasht via het /api/create-eindpunt, resulterend in een DoS-conditie (opgelost in versie 0.1.46)
- CVE-2024-39721 (CVSS-score: 7,5) – Een kwetsbaarheid die uitputting van bronnen en uiteindelijk een DoS veroorzaakt wanneer het /api/create-eindpunt herhaaldelijk wordt aangeroepen bij het doorgeven van het bestand “/dev/random” als invoer (opgelost in versie 0.1.34)
- CVE-2024-39722 (CVSS-score: 7,5) – Een kwetsbaarheid bij het doorlopen van paden in het api/push-eindpunt waardoor de bestanden op de server en de volledige mapstructuur waarop Ollama wordt geïmplementeerd zichtbaar worden (opgelost in versie 0.1.46)
- Een kwetsbaarheid die kan leiden tot modelvergiftiging via het /api/pull-eindpunt van een niet-vertrouwde bron (geen CVE-identificatie, niet gepatcht)
- Een kwetsbaarheid die kan leiden tot modeldiefstal via het /api/push-eindpunt naar een niet-vertrouwd doel (geen CVE-identificatie, niet gepatcht)
Voor beide onopgeloste kwetsbaarheden hebben de beheerders van Ollama aanbevolen dat gebruikers filteren welke eindpunten aan het internet worden blootgesteld door middel van een proxy of een webapplicatie-firewall.
“Dit betekent dat standaard niet alle eindpunten zichtbaar moeten zijn”, zegt Lumelsky. “Dat is een gevaarlijke veronderstelling. Niet iedereen is zich daarvan bewust, of filtert http-routering naar Ollama. Momenteel zijn deze eindpunten beschikbaar via de standaardpoort van Ollama als onderdeel van elke implementatie, zonder enige scheiding of documentatie om dit te ondersteunen.”
Oligo zei dat het 9.831 unieke internetgerichte instanties heeft gevonden die Ollama draaien, waarvan de meerderheid zich bevindt in China, de VS, Duitsland, Zuid-Korea, Taiwan, Frankrijk, het VK, India, Singapore en Hong Kong. Eén op de vier internetgerichte servers wordt als kwetsbaar beschouwd voor de geïdentificeerde gebreken.
De ontwikkeling komt ruim vier maanden nadat cloudbeveiligingsbedrijf Wiz een ernstige fout openbaarde die gevolgen had voor Ollama (CVE-2024-37032) en die had kunnen worden uitgebuit om code op afstand uit te voeren.
“Het zonder toestemming blootstellen van Ollama aan het internet is hetzelfde als het blootstellen van de docker-socket aan het openbare internet, omdat deze bestanden kan uploaden en model pull- en push-mogelijkheden heeft (die door aanvallers kunnen worden misbruikt)”, merkte Lumelsky op.