Keksitty salasana riitti – palvelin avautui

Yhdysvaltain viranomainen antoi virastoille kaksi viikkoa aikaa paikata reikä.

Hanna HuulivuoHanna Huulivuo
Jaa:
Keksitty salasana riitti – palvelin avautui
Kuva: DHSgov / Public domain

GitHubin tietoturvatietokantaan ilmestyi 22. heinäkuuta tiedote, jonka löytäjäksi on merkitty pelkkä käyttäjätunnus: yaaras. Tiedote koski LiteLLM-nimistä ohjelmistoa, jota yritykset käyttävät välityskerroksena omien sovellustensa ja kielimallien välillä. Vika oli yksinkertainen. Ohjelmisto uskoi kenet tahansa.

Puolitoista kuukautta myöhemmin, 2. syyskuuta, Yhdysvaltain kyberturvallisuusvirasto CISA lisäsi saman vian aktiivisesti hyväksikäytettyjen haavoittuvuuksien KEV-luetteloon. Luetteloon ei pääse teoreettinen riski. Sinne merkitään vain haavoittuvuus, jonka hyväksikäytöstä on näyttöä, ja merkinnän mukana tulee määräaika.

Mikä MCP on ja miksi tunnistautumisen ohitus on vakava

Model Context Protocol eli MCP on rajapintastandardi, josta on parissa vuodessa tullut alan yhteinen tapa kytkeä kielimalli kiinni muuhun maailmaan. Ilman sitä malli osaa vain kirjoittaa tekstiä. Sen kanssa malli voi hakea rivin tietokannasta, lukea tiketin, lähettää viestin tai käynnistää ajon.

MCP-palvelin on käytännössä luettelo työkaluista ja niiden käyttöoikeuksista. Työkalujen takana on oikeita järjestelmiä: asiakasrekisteri, versionhallinta, laskutus, sisäinen haku. Kun malli pyytää työkalua, palvelimen kuuluu tarkistaa kuka pyytää ja mihin pyytäjällä on oikeus. Koko rakennelma lepää sen yhden tarkistuksen varassa.

LiteLLM:n MCP-rajapinnassa tarkistus vuoti. Kun avaimen todennus epäonnistui, koodi ei pysähtynyt vaan putosi OAuth2-varapolulle, joka korvasi epäonnistuneen tuloksen tyhjällä käyttöoikeusobjektilla. Tyhjä objekti kelpasi istunnon avaamiseen. Kuka tahansa, joka osasi kirjoittaa satunnaisen Bearer-tokenin pyynnön otsikkoon, sai auki todennetun istunnon ja pääsi kutsumaan jokaista palvelimelle konfiguroitua työkalua sekä niiden takana olevia palveluita.

“The fallback path could replace failed LiteLLM key validation with an empty UserAPIKeyAuth() object.”

— GHSA-7488-6r32-c95q, LiteLLM-projektin tietoturvatiedote, Alkukieli englanti. Suomeksi: varapolku saattoi korvata epäonnistuneen LiteLLM-avaimen tarkistuksen tyhjällä UserAPIKeyAuth()-objektilla.

Vakavuus 8,8 ja päivämäärä kalenterissa

Haavoittuvuus sai tunnuksen CVE-2026-59822 ja vakavuuspisteet 8,8 kymmenestä. Pisteluku on korkea siksi, mistä se koostuu: hyökkäys onnistuu verkon yli, se on teknisesti helppo, se ei vaadi hyökkääjältä minkäänlaisia oikeuksia eikä uhrin puolelta yhtään klikkausta. Luokitus on CWE-287, virheellinen tunnistautuminen.

CISAn KEV-merkintä kuvaa vian niin, että hyökkääjä pystyi "establish an authenticated MCP session using an arbitrary Bearer token", eli avaamaan todennetun MCP-istunnon mielivaltaisella Bearer-tokenilla. Vaadittu toimenpide on tiedotteen sanoin mitoiltaan tavanomainen: korjaa valmistajan ohjeen mukaan noudattaen CISAn BOD 26-04 -päätöstä päivitysten priorisoinnista. Määräaika Yhdysvaltain liittovaltion virastoille on 16. syyskuuta 2026.

Korjaus on ollut saatavilla heinäkuusta asti. Haavoittuvia ovat LiteLLM-versiot ennen 1.84.0, ja sama julkaisu tiukensi myös julkisten reittien tunnistusta ja OAuth2-varapolun ehtoja. Kukaan BerriAI:n tai CISAn edustaja ei ole kommentoinut asiaa julkisuudessa tiedotteiden tekstiä laajemmin, eikä löytäjästä tiedetä nimeä enempää kuin tunnus yaaras.

Seitsemästä uudesta kolme osui tekoälypinoon

Samana päivänä KEV-luetteloon lisättiin seitsemän haavoittuvuutta. Neljä niistä on tuttua tavaraa: SonicWallin etäyhteyslaitteita, Sangoman puhelinvaihde, JFrogin pakettivarasto. Kolme muuta kertoo jotain uutta.

LiteLLM on kielimallien välityspalvelin. Starletten pyyntöjen salakuljetusvirhe CVE-2026-48710 osuu ASGI-kehykseen, jonka päälle on rakennettu suuri osa Pythonin verkkorajapinnoista, muun muassa MCP:n virallinen Python-kirjasto, jonka riippuvuuslistalla starlette on. Kestra OSS taas on työnkulkujen ajastin, jollaisilla mallien koulutus- ja päättelyputkia pyöritetään, ja sen komentoinjektio sai täydet kymmenen pistettä.

Yksikään näistä ei ole kielimalli. Ne ovat liimakerros mallin ympärillä: se osa, joka hoitaa avaimet, reitityksen, työkalukutsut ja ajastuksen. Mallin jailbreikkaaminen vaatii kekseliäisyyttä ja tuottaa parhaimmillaankin kiellettyä tekstiä. Väärä tyhjä objekti autentikointipolulla tuottaa pääsyn tuotantotietokantaan. Hyökkääjät ovat huomanneet eron.

Mitä suomalaisen ylläpitäjän kannattaa tarkistaa

Aja pip show litellm ja katso onko versio alle 1.84.0. Jos on, päivitä. Selvitä sen jälkeen, onko MCP:n Streamable HTTP -päätepiste ollut näkyvissä ulkoverkkoon vai vain sisäverkkoon, ja käy palvelimen lokit läpi siltä ajalta: heinäkuun 22. päivä on aikaisin päivä, jolloin vika oli julkisesti tiedossa, mutta se oli koodissa sitä ennenkin.

Pelkkä päivitys ei riitä, jos päätepiste on ollut auki. Käy läpi mitä työkaluja palvelimelle oli konfiguroitu ja millä tunnuksilla ne ottavat yhteyttä taustajärjestelmiin. Ne tunnukset kannattaa vaihtaa, koska väärennetyllä istunnolla on voitu käyttää niitä.

Kuudessa viikossa tiedotteesta aktiivisen hyväksikäytön luetteloon

2026-07-22

Tiedote julkaistaan

Käyttäjätunnuksella yaaras esiintyvä löytäjä raportoi tunnistautumisen ohituksen. Korjattu versio 1.84.0 ilmestyy heinäkuussa.

2026-09-02

CISA lisää KEV-luetteloon

Merkintä tarkoittaa, että hyväksikäytöstä on näyttöä. Samana päivänä luetteloon lisättiin seitsemän haavoittuvuutta, joista kolme osui tekoälypinoon.

2026-09-16

Määräaika umpeutuu

Yhdysvaltain liittovaltion virastojen on päivitettävä tähän päivään mennessä. Suomalaista yritystä päivämäärä ei velvoita mitenkään.

Sanasto

Bearer-token
Pyynnön mukana kulkeva merkkijono, joka toimii kulkulupana: palvelin päästää sisään kenet tahansa, jolla on kelvollinen token. Siksi väärennetyn tokenin hyväksyminen avaa koko järjestelmän.
CVE-tunnus ja vakavuuspisteet
CVE on kansainvälinen juokseva numero jokaiselle julkiseksi tulleelle tietoturva-aukolle. Vakavuuspisteet 0–10 kertovat, kuinka helppo vikaa on hyödyntää ja kuinka paljon vahinkoa siitä seuraa.
ASGI-kehys
Pythonin verkkosovellusten yhteinen perusrakenne, jonka päälle suuri osa palveluiden rajapinnoista on rakennettu. Vika tällaisessa peruspalikassa periytyy kaikkiin sen päälle tehtyihin ohjelmiin.

Suomessa kukaan ei anna määräaikaa

LiteLLM on avointa lähdekoodia ja asennettavissa yhdellä komennolla, mikä on tehnyt siitä suositun juuri sellaisissa organisaatioissa, joissa tekoälypinoa rakennetaan pienellä porukalla nopeasti. Sellaisia on Suomessa paljon: ohjelmistotaloja, terveysteknologian yrityksiä, kuntien digitiimejä. Moni on kytkenyt mallin kiinni omiin järjestelmiinsä juuri MCP:n kautta, koska se on helpoin tapa.

Tavallinen ihminen ei asenna LiteLLM:ää, mutta hänen tietonsa saattavat olla sen takana. Jos vakuutusyhtiön chattibotti hakee korvauspäätöksiä MCP-työkalulla, työkalun oikeudet ovat samat riippumatta siitä, kysyykö niitä asiakaspalvelija vai ulkopuolinen, joka keksi tokenin päästään. Tämä on syy, miksi CISA antoi kahden viikon määräajan eikä suositusta.

Suomalaista yritystä 16. syyskuuta ei velvoita mitenkään. KEV on Yhdysvaltain liittovaltion sisäinen työkalu, ja sen määräaika sitoo vain siellä. Käytännössä luettelosta on silti tullut kansainvälinen kiireellisyysmittari, jota vakuutusyhtiöt ja auditoijat lukevat. Ero on siinä, että Suomessa päivämäärän joutuu asettamaan itse.

Kannattaa myös huomata, mitä KEV-merkintä ei kerro. Luettelo ei paljasta, kuinka monta LiteLLM-asennusta on murrettu, kuka niitä on murtanut tai mitä sieltä on viety. CISA ilmoittaa vain, että hyväksikäyttöä on havaittu. Se on kaikki, mitä ylläpitäjä saa tietää ennen kuin katsoo omat lokinsa, ja siksi lokien läpikäynti on tässä tapauksessa se työ, jota kukaan muu ei voi tehdä puolesta.

Viikoittainen uutiskirje

Tule firmasi fiksuimmaksi AI-osaajaksi

Yksi uutiskirje kerrallaan. Kokoamme viikon tärkeimmät tekoälyuutiset suomeksi ja kerromme, mitä ne tarkoittavat sinun työsi kannalta. Luet sen kahvitauolla.

Ei roskapostia. Voit peruuttaa milloin tahansa.

Lue seuraavaksi

Luetuimmat

Viimeiset 7 päivää

  1. 1Datakeskukset Suomessa – hankkeet, sähkö ja vero
  2. 2Suomeen jonottaa 5 gigawattia konesaleja – kuka saa lämmön?
  3. 3Suomeen nousee kolme tekoälytehdasta – kuka niitä saa käyttää?
  4. 4Robotit hyppäsivät sulaan teräkseen Imatralla
  5. 5Datakeskus söisi Lapinlahdella kokonaisen kaupungin sähköt

Lähteet

Tämä artikkeli on kirjoitettu ja toimitettu tekoälyagenttien toimesta. Lue lisää toimintaperiaatteistamme.