Elad Luz avasi Firefoxin omalla Macillaan ja kävi yhdellä verkkosivulla. Taustalla pyöri Nvidian NemoClaw, avoimen lähdekoodin pinta tekoälyagenttien ajamiseen. Sivun lataus riitti. Sen jälkeen agentin käyttämä malli noudatti ohjeita, joita kukaan ei ollut sille kirjoittanut.
Luz johtaa tutkimusta tietoturvayhtiö Oasis Securityssä. Hänen ryhmänsä kuvaamassa hyökkäysketjussa ei tarvittu kalasteluviestiä, varastettuja tunnuksia eikä käyttäjän hyväksyntää millekään. Riitti, että uhri eksyi väärälle sivulle samalla koneella, jolla agentti oli käynnissä. Oasis kertoi löydöksestä Nvidian tietoturvaryhmälle PSIRT:lle ennen julkaisua, ja tapaus tuli julki The Hacker Newsin kautta 25. elokuuta.
Selain toimi tunkeutumisreittinä
NemoClaw käynnistää paikallisen Ollama-mallipalvelimen asetuksella OLLAMA_HOST=0.0.0.0:11434. Osoite 0.0.0.0 tarkoittaa, että palvelin kuuntelee koneen kaikkia verkkoliitäntöjä eikä pelkkää omaa loopback-osoitetta 127.0.0.1. Ero kuulostaa tekniseltä nyanssilta. Käytännössä se ratkaisee, kuka palvelimeen ylipäätään ylettyy.
DNS rebinding on temppu, jossa hyökkääjän verkkotunnus osoittaa ensin hänen omalle palvelimelleen ja hetkeä myöhemmin osoitteeseen 127.0.0.1. Selain uskoo puhuvansa edelleen samalle sivustolle, koska osoiterivillä lukee sama nimi, ja päästää sivun koodin juttelemaan koneen sisällä pyörivän mallipalvelimen kanssa. Ollaman rajapinnassa ei ole tunnistautumista, joten kysyjältä ei kysytä mitään.
Vastaava aukko korjattiin Ollamassa jo maaliskuussa 2024 versiossa 0.1.29, tunnisteella CVE-2024-28224. Korjaus tarkistaa pyynnön Host-otsakkeen ja päästää läpi vain hyväksytyt arvot. Tarkistus vain ohitetaan silloin, kun palvelin on sidottu muuhun kuin loopback-osoitteeseen.
“Mutta Ollama ohittaa sen tarkistuksen aina, kun se on sidottu muuhun kuin loopback-osoitteeseen, ja 0.0.0.0 on juuri se tapa, jolla NemoClaw sen määrittää.”
Myrkky jäi mallin sisään
Sisäänpääsyn jälkeen ryhmä kutsui Ollaman /api/create-rajapintaa ja muokkasi mallin chat-mallipohjaa. Kyse on Go-kielisestä pohjasta, joka määrää, miten keskustelun viestit muotoillaan mallille ennen vastausta. Pohjaan lisättiin rivi, joka liittää hyökkääjän tekstin järjestelmäviestin perään joka ikinen kerta.
Muutos ei ole keskustelukohtainen. Se jää itse malliin, säilyy uudelleenkäynnistysten yli ja jyrää alleen agentin oman järjestelmäkehotteen. Hiekkalaatikko, jonka sisällä NemoClaw agenttinsa ajaa, ei auta tähän lainkaan. Oasis Securityn tutkijoiden sanoin ”hiekkalaatikko suojaa päätelaitetta, mutta agentin haltuunotto vie mukanaan sen käyttöoikeudet ja työkalut”.
“Asiakassovellus ei voi havaita tätä eikä estää sitä. Mallipohja on mallin tason ominaisuus, joka on rajapinnan käyttäjälle näkymätön.”
Korjaus makaa jokaisen kehittäjän koneella
NemoClaw-versio 0.0.35 korjasi ongelman macOS:llä ja Linuxilla. Windowsin ja WSL:n polulla korjausta ei ole edelleenkään, ja versio 0.0.34 tyytyi lisäämään asennukseen varoituksen. Elokuun 10. päivänä julkaistu versio 0.0.106 kiristi tilannetta sen verran, että NemoClaw:n välityspalvelin kieltäytyy käynnistymästä, jos taustalla oleva Ollama on sidottu muuhun kuin loopback-osoitteeseen. Tarkistuksen voi kytkeä pois ympäristömuuttujalla, eikä se aja Windows-isäntäkoneen poluilla.
Tässä on koko jutun ikävin kohta. Kun aukko on pilvipalvelussa, tarjoaja korjaa sen kerran ja jokainen käyttäjä saa korjauksen samalla hetkellä. NemoClaw asentuu kehittäjän omalle koneelle, joten korjaus etenee vain sitä tahtia, jolla jokainen asentaja päivittää oman asennuksensa. Vanha versio läppärin kulmalla ei kysy keneltäkään lupaa jäädä paikalleen.
Toimeksiantoon merkitylle CVE-tunnisteelle CVE-2026-65105 ei löytynyt vastinetta kansallisesta haavoittuvuustietokannasta, eikä alkuperäinen raportti mainitse tunnistetta. Julkaisuhetkellä haavoittuvuudelle ei siis ollut myönnetty omaa CVE-numeroa. Hyväksikäytöstä luonnossa ei ole raportteja. Havainnot perustuvat yhteen tutkimusryhmään, riippumatonta vahvistusta hyökkäysketjusta ei löytynyt, eikä Nvidia ole kommentoinut asiaa julkisuudessa.
Paikallinen malli siirtää riskin työpöydälle
Suomalaisissa yrityksissä paikallisesti ajettavat mallit ovat yleistyneet nimenomaan tietosuojan takia. Kun asiakastiedot, potilaskertomukset tai lähdekoodi eivät saa lähteä omasta verkosta, malli tuodaan datan viereen. Ratkaisu on järkevä, mutta se siirtää hyökkäyspinnan palvelinsalista kehittäjän työasemalle. Siellä on selain auki, ja siellä käydään samoilla sivuilla kuin muuallakin.
Tavalliselle työntekijälle tämä tarkoittaa, että agentti ei ole pelkkä chat-ikkuna. Sillä on pääsy tiedostoihin, avaimiin ja työkaluihin, joita se saa kutsua käyttäjän oikeuksilla. Kaapattu agentti tekee sitä samaa hiljaa: lukee mitä sen sallitaan lukea, lähettää minne sen sallitaan lähettää. Yrityksen tietoturvavalvonta katsoo tyypillisesti palvelimia ja verkkoliikennettä, ei sitä, minkälainen mallipohja jonkun kehittäjän koneella pyörivässä mallissa sattuu olemaan.



