Microsoft on julkaissut uuden Security Advisoryn numeroltaan 961040 ja otsikoltaan Vulnerability in SQL Server Could Allow Remote Code Execution. Advisory koskee SQL Server -tietokantapalvelimessa havaittua haavoittuvuutta, joka on jo julkisesti tiedossa. Huolimatta siitä, että haavoittuvuus on julkisesti tiedossa, Microsoft ei ole tietoinen, että haavoittuvuutta olisi hyödynnetty asiakasjärjestelmiin kohdistuneissa hyökkäyksissä. Haavoittuvuus on parhaillaan Microsoftin Security Response Centerin tutkinnassa.

Haavoittuvuus koskee seuraavia SQL Server -tietokantapalvelimen versioita:
- Microsoft SQL Server 2000 (Service Pack 4)
- Microsoft SQL Server 2005 (Service Pack 2)

Haavoittuvuus EI koske seuraavia SQL Server -tietokantapalvelimen versioita:
- Microsoft SQL Server 7.0 (Service Pack 4)
- Microsoft SQL Server 2005 (Service Pack 3)
- Microsoft SQL Server 2008

Haavoittuvuus liittyy SQL Server -tietokantapalvelimen mukana tulevaan sp_replwritetovarbin-nimiseen tallennettuun proseduuriin (Extended Stored Procedure). Proseduurista on löydetty haavoittuvuus, joka liittyy proseduurin tapaan tarkistaa sille syötettyjä parametreja. Haavoittuvuus antaa vihamieliselle hyökkääjälle mahdollisuuden suorittaa haluamaansa ohjelmakoodia kohteena olevassa järjestelmässä (Remote Code Execution -tyyppinen haavoittuvuus). Haavoittuvuuden hyödyntäminen kuitenkin edellyttää, että hyökkääjällä on kelvollinen käyttäjätunnus ja salasana kohteena olevaan järjestelmään. Poikkeuksena tästä on palvelin, johon hyökkääjä on jo suorittanut onnistuneen SQL Injection -hyökkäyksen. Lisätietoja haavoittuvuudesta on englanninkielisessä Security Advisoryssä.

Mitä sitten voin tehdä tietokantapalvelimeni suojaamiseksi, kun haavoittuvuuteen ei ole vielä korjausta saatavilla? Yksinkertainen tapa suojautua haavoittuvuudelta toistaiseksi on rajoittaa sp_replwritetovarbin-proseduurin käyttöoikeuksia. Miten? Security Advisoryn Suggested Actions => Workarounds -jaksossa on hyvät ohjeet tähän. On huomattava, että tämä ei korjaa haavoittuvuutta, mutta kuitenkin rajoittaa tällä hetkellä tunnettujen hyödyntämismenetelmien käyttöä.

Kuten aiemmin mainitsin, haavoittuvuus on MSRC:n tutkinnassa, ja normaaliin tapaan siihen julkistetaan korjaus esim. jossakin Service Packissa, normaalin tietoturvakorjausten julkaisuaikataulun puitteissa tai aikataulun ukopuolella, mikäli tutkinnan tulos antaa siihen aihetta. Seuraamme tilannetta jatkuvasti ja mahdollisista muutoksista tiedotetaan sekä tässä blogissa että mm. MSRC:n blogissa.  

Security Vulnerability Research and Defense -blogissa on jälleen hyvää teknistä taustatietoa haavoittuvuudesta ja suojautumisesta siltä.

Päivitys: Microsoft on julkaissut Knowledge Base -artikkelin 961040, jossa on lisätietoja Security Advisoryssä kuvatun Workaroundin ottamisesta käyttöön SQL Server -palvelimessa, sekä skriptikielinen ohjelmapätkä, joka helpottaa muutoksen tekemistä.