Microsoft dicht kritiek lek in http.sys

Microsoft heeft tijdens patch tuesday patches uitgebracht voor Windows 7, 8, 8.1, Server 2008 R2, Server 2012 en Server 2012 R2 die een kritiek beveiligingsgat in de http.sys-module moeten dichten. Het lek zou remote code execution mogelijk maken. Ook Office bevat een kritiek lek.

In Security Bulletin MS15-034 beschrijft Microsoft de inmiddels gedichte kwetsbaarheid in http.sys. Volgens de softwaregigant kunnen aanvallers met een gemanipuleerde http-request op afstand code uitvoeren op een kwetsbaar Windows-systeem. Microsoft noemt het beveiligingsgat 'kritiek', de hoogste classificatie die dergelijke kwetsbaarheden kunnen krijgen. Systeembeheerders en gebruikers van de genoemde Windows-versies wordt dan ook dringend aangeraden om de patch te installeren.

De patch, die de wijze waarop http.sys omgaat met requests aanpast, maakt deel uit van patch tuesday, de maandelijkse releaseronde van bugfixes en patches voor diverse Windows-versies. Onduidelijk is waarom Microsoft de patch voor http.sys niet eerder heeft uitgebracht, maar de softwaregigant geeft wel aan dat er tot nu toe geen gevallen bekend zijn waarbij de kwetsbaarheid daadwerkelijk door kwaadwillenden is misbruikt.

Een beveiligingsonderzoeker van de firma Tripwire laat aan TechTarget weten dat de kwetsbaarheid vermoedelijk deel uitmaakt van kernel caching support voor IIS, Microsofts webserver. Daarnaast spreekt hij de vrees uit dat de genoemde kwetsbaarheid op korte termijn misbruikt gaat worden door aanvallers.

Naast de beveiligingsproblemen in http.sys heeft Microsoft patches voor diverse Office-versies uitgebracht, waarvan MS15-033 ook het stempel 'kritiek' heeft gekregen. Ook in dit geval is remote code execution mogelijk als de gebruiker een gemanipuleerd Office-bestand opent.

Door Dimitri Reijerman

Redacteur

15-04-2015 • 10:30

35

Reacties (35)

35
35
25
2
0
0
Wijzig sortering
Als ik het goed begrijp geeft dit voornamelijk problemen als je een IIS webserver draait? Of wordt http.sys ook gebruikt aan de aanvraag / client kant? IIS kan je natuurlijk ook draaien op de normale 'desktop' Windows. Maar is ook bijv. IE getroffen? De patch KB3042553 is in ieder geval zojuist geïnstalleerd op m'n Windows 7 Home Premium. "Internet Information Services" is niet aangevinkt onder "Windows-onderdelen in- of uitschakelen".

Middels Process Hacker zie ik wel dat http.sys op dat systeem ingeladen is en een handle heeft, maar op zich niet waarom die geladen is.

Een `nmap -Pn -sV` scan naar deze machine wijst uit dat poorten 2869, 5357 & 10243 gebruik maken van "Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)". `netstat /a /b` op de machine zegt dat deze van CrashPlanService.exe zijn, m'n bestand backup systeem dus. Of ze de kernel mode cache gebruiken, weet ik zo even nog niet. Met "Windows Grep" kom ik iig. geen keywords tegen binnen die applicatie (lijkt 0-compressie in de jars te gebruiken, dus grep zou moeten werken).

Meer info:

https://twitter.com/cyberkryption/status/588263341971398657 - PoC in python & C
https://twitter.com/matalaz/status/588260407078424577 - wijziging analyse van http.sys
https://twitter.com/mattiasgeniar/status/588261373928468480 - blog post
https://twitter.com/NexusFandom/status/588254994203303937 - Win 2012 blue screen door `telnet`
https://support.microsoft.com/kb/3042553 - De patch-pagina van Microsoft
https://twitter.com/wincmdfu/status/588237264439894016 - HTTP kernel cache inhoud controleren
https://twitter.com/dakami/status/588159662513594373 - Citrix heeft dit probleem gerapporteerd, mogelijk omdat het al misbruikt werd (0day)

[Reactie gewijzigd door Henk Poley op 2 augustus 2024 02:27]

Klopt, deze http.sys wordt door IIS gebruikt. Als je geen IIS geinstalleerd hebt zul je deze patch dus ook niet zomaar aangeboden krijgen via Windows Update.

Let wel op dat sommige applicaties op de achtergrond ook IIS kunnen installeren/gebruiken, ook al heb je dat zelf niet door.

Http.sys wordt niet voor de client kant gebruikt, het is puur voor IIS/webserver zelf, dus server-side.
.oisyn Moderator Devschuur® @wildhagen15 april 2015 12:29
Klopt, deze http.sys wordt door IIS gebruikt
HTTP afhandeling gebeurt op kernel niveau (dmv http.sys dus), om op die manier content direct uit de cache te kunnen leveren zonder tussenkomst van user proces. Een applicatie kan zichzelf registreren voor bepaalde URL's middels de HTTP Server API. IIS (vanaf versie 6 iig) is niets meer dan een client van de HTTP Server API.

Deze patch staat dus geheel los van IIS, iedere applicatie kan gewoon van de HTTP Server API gebruik maken zonder dat IIS geïnstalleerd is. Het is me op dit moment niet helemaal duidelijk of je alleen kwetsbaar als je een proces hebt draaien dat gebruik maakt van de API, maar dus wel dat je ook zonder IIS kwetsbaar kunt zijn.

[Reactie gewijzigd door .oisyn op 2 augustus 2024 02:27]

Er zijn verschillende delen van het client OS die onder de moterkap OOK http.sys gebruiken, O.a. IPP printer-sharing wat in feite gewoon een webdav dienst op een ander poort-nummer is.
(Wellicht ook .NET remoting services. Weet eigenlijk niet of dit de system http.sys gebruikt of een .NET interne verise heeft. )
Maar de eigenlijke vulnerability is voor zover ik weet op een client OS nooit ingeschakelt en op een server alleen als je de kernel-caching ooit aangezet hebt.
Als ik het goed begrijp geeft dit voornamelijk problemen als je een IIS webserver draait?
Als je Apache draait met mod_php heb je deze week weer andere problemen, ook op *nix. Uit de NEWS van PHP 5.4.40 (maar 5.2 t/m 5.6 hebben dit probleem ook):

16 Apr 2015 PHP 5.4.40
- Apache2handler:
. Fixed bug #69218 (potential remote code execution with apache 2.4
apache2handler). (Gerrit Venema)
De vraag was eigenlijk meer: zijn er applicaties buiten IIS die ook http.sys gebruiken, en zonder deze patch hetzelfde probleem hebben.

Antwoord is, ja dat kan. Ik noem een mogelijke: CrashPlan. Hoewel het lijkt alsof ze wel HTTP API gebruiken, maar niet de 'kernel mode cache' daarvan.
http.sys is de http handler in Windows. Wordt door IIS gebruikt maar ook door vele andere applicaties die aan http handling doen
Vreemd dat 'Windows update' de update 'Security Update for Windows 7 for x64-based Systems (KB3042553)' niet bij allen komt.
Zal deze dan toch pas met de patch tuesday komen? Voor de mensen die de update al graag willen downloaden die geen risico willen lopen: https://www.microsoft.com...oad/details.aspx?id=46509

[Reactie gewijzigd door CyberDonky op 2 augustus 2024 02:27]

Een webserver draaien op Win7 lijkt mij in ieder geval niet handig. Het kan, maar het is niet aan te raden.
Want als je als thuisgebruiker wat wilt ontwikkelen moet je natuurlijk direct investeren in een full blown Server editie van Windows.

Daarnaast is er nog een hoop andere software die gebruik kan maken van IIS en waarvoor deze software dus wel vereist is.
Full Blown server hoeft inderdaad niet, maar meestal staat deze dan ook niet open naar het internet ;)
Een IIS Express voor development doeleinden ga je dan ook niet publiek serveren.
Daarnaast is er nog een hoop andere software die gebruik kan maken van IIS en waarvoor deze software dus wel vereist is.
:?

[Reactie gewijzigd door boe2 op 2 augustus 2024 02:27]

Voor dat soort situaties heb je BizSpark en DreamSpark. Full-blown server edities zijn vooral duur omdat je ze in productie mag gebruiken, developer licenties zijn typisch een stuk goedkoper.
Een webserver draaien op Win7 lijkt mij in ieder geval niet handig. Het kan, maar het is niet aan te raden.
Een webserver? Ik neem aan een website gehost op IIS en niet op Apache, bijvoorbeeld. Daarnaast kan je heel goed een webserver hebben maar er staat nergens (alhoewel aannemelijk) dat er ook daadwerkelijk een website / root gedefinieerd moet zijn en dat de webserver ook te bereiken is en over welke poorten we het dan hebben zoals 80, 443 of een andere poort.

Ik geloof niet dat de kernel van Windows 7 op veel vlakken verschilt van Windows 2008. De reden/keuze om een Microsoft-based webserver te draaien op deze OS'en, is dus van een andere categorie en lijkt me buiten beschouwing van het issue te liggen.

Ik vind het trouwens opvallend dat in de MSE Server 2012 Core niet genoemd wordt als applicable product; alsof er dus een issue is in http.sys in combinatie met een GUI op je OS.
Ze hebben de UI feature toch niet apart vermeld als zijnde de oorzaak van het probleem? Ik denk niet dat het uitmaakt of er een andere UI is geinstalleerd... Het blijft hetzelfde OS.
Nee klopt, is ook zo hoor. Ging even eigenlijk om het feit van dat de update nog niet is uitgebracht terwijl geacht wordt deze te downloaden via Windows Update (Zie critical pagina van Windows over dit lek).
Dan moet je wel IIS wel geïnstalleerd hebben op je Windows 7 machine. :)
https://technet.microsoft.com/nl-nl/library/cc725762.aspx
IIS is niet de enige die http.sys gebruikt. Als je bv een .NET app hebt die HttpListener class gebruikt dan gebruikt ie onder water http.sys. En er zullen nog veel meer http wrapper classes zijn die http.sys gebruiken
Ow dat zou best kunnen, dat weet ik niet. Ik baseerde me op wat er in dit artikel staat:
Een beveiligingsonderzoeker van de firma Tripwire laat aan TechTarget weten dat de kwetsbaarheid vermoedelijk deel uitmaakt van kernel caching support voor IIS, Microsofts webserver.
Maar dat kan dus dan een tweede verklaring zijn waarom CyberDonky aankaartte dat niet iedereen deze update kreeg, als je die .NET dan ook niet heb geinstalleerd dan heb je deze update ook niet nodig.
Ik neem aan ook c++ waarbij je Microsoft http implementatie gebruikt.
Ik weet niet of Microsoft een win32 api heeft voor http.
Die kreeg ik dus wel.
Vreemd. Ik ga hier even naar kijken. Thanks for the heads up
Nog meer onveiligheid in HTTP is niet echt wenselijk. Al helemaal niet als het aan de kant van het OS zelf ligt in een systeembestand (het is dus niet de schuld van http zelf). Goed dat het wordt gedicht...altijd te laat maar nooit ongewenst als zoiets wordt gedaan. Overigens doet http.sys ook naar https luisteren.

Meer info over http.sys.
http://www.codeproject.co...p-sys-with-HttpSysManager
(er zijn wellicht betere links)

[Reactie gewijzigd door Auredium op 2 augustus 2024 02:27]

De update gelijk maar geïnstalleerd op mijn 2008r2 server :) Je krijgt hem inderdaad alleen als je IIS geïnstalleerd hebt, want op mijn 2012R2 die hyper-v draait kreeg de update niet.
Vista en 2008 hebben dus nergens last van? Vreemd...
Of ze brengen voor Vista en 2008 geen patch uit.. ;)
Vista en Server 2008 worden wel degelijk nog supported hoor. In dit geval is dit lek simpelweg niet in die versies aanwezig, en is er dus ook geen patch voor dit specifieke lek uitgekomen.

Er zijn wel andere patches uitgekomen in deze patch tuesday voor Vista en Server 2008.
Ik snap niet waar je vandaan haalt dat het niet aanwezig is ins 2008, in het artikel wat gelinkt is staat duidelijk Server 2008 R2 tussen. De patch voor 2008 R2 x64 system is hier te downloaden: https://www.microsoft.com...oad/details.aspx?id=46480.

Daarnaast is de patch mee gekomen met de updates van vandaag via windows update.

[Reactie gewijzigd door XzeroD op 2 augustus 2024 02:27]

Server 2008 R2 is niet hetzelfde als Server 2008, dat zijn verschillende versies! Voor de 1e is wel een patch idd, maar voor de laatste (waar ik op reageerde) dus niet.

Server 2008 R2 is zelfde generatie als Windows 7, Server 2008 is zelfde generatie als Windows Vista.

[Reactie gewijzigd door wildhagen op 2 augustus 2024 02:27]

Weer wat geleerd! Zit er zoveel verschil tussen 2008 / R2 dat er een aparte benaming aan zit dan?
Zelfs de examens van Microsoft voor MCSA en MCSE hebben aparte vraagstellingen voor R2-versies.

Afgezien van enkele kleine wijzigingen in de kernel, zitten er relatief grote wijzigingen in de Roles, Features en de werking van sommige zaken.
Ze draaien zelfs op een andere kernel (6.1). Server 2008 is de "vista server" en R2 de "7 server" als ik het even zo mag noemen.
Server 2008 R2 is de Windows 7 versie van Server. Server 2008 is de Vista variant en heeft dus geen patch.
Iemand enig idee hoet het zit met IIS 6.0 op WIndows 2003 ?
Die is nog steeds in extended support maar ik kan nergens ook maar 1 bit info vinden wat daar de situatie is.

Op dit item kan niet meer gereageerd worden.