Kwetsbaarheid in PolarSSL maakt uitvoeren van malafide code mogelijk

Het Nederlandse beveiligingsbedrijf Certified Secure heeft onlangs een kwetsbaarheid in de ssl-bibliotheek PolarSSL gevonden. Door dat lek kunnen kwaadwillenden in sommige gevallen op systemen willekeurige code uitvoeren of die met een denial of service aanvallen.

Beveiligingsonderzoekers van Certified Secure kwamen het lek eerder deze maand op het spoor tijdens een routinecontrole, zo schrijven ze. De kwetsbaarheid betreft een functie in de verwerking van X.509-certificaten. Daarmee controleert PolarSSL, gebruikt voor ssl/tls-implementatie, onder andere gebruikers die zich aanmelden bij programma's. Momenteel treft de bug alle versies vanaf 1.0.

Een kwaadwillende kan door middel van een malafide certificaat een server met PolarSSL om de tuin leiden. Dit is mogelijk doordat de kwetsbaarheid kan worden gebruikt alvorens het programma de geldigheid van het certificaat controleert. Vervolgens kan de crimineel zijn slag slaan door willekeurige code uit te voeren of een denial of service-aanval op te zetten.

Certified Secure ontdekte de kwetsbaarheid vorige week. Vijf dagen later kwam het ontwikkelteam van PolarSSL met een patch, die inmiddels is te verkrijgen. Het Nederlandse beveiligingsbedrijf adviseert iedereen die werkt met PolarSSL om de softwarepleister te installeren.

PolarSSL is een bedrijf dat onder dezelfde naam zowel een gratis, opensource als een commerciële ssl-bibliotheek aanbiedt. De bibliotheek ontstond in 2008 als fork uit de code van het XySSL-project. Eind vorig jaar nam chipontwerper ARM het bedrijf over. Ten opzichte van de concurrentie beweert PolarSSL betere documentatie te bieden, evenals meer ondersteuning.

Van PolarSSL maakt ook de Nederlandse inlichtingendienst AIVD gebruik in een aangepaste variant van het opensource-softwarepakket OpenVPN, namelijk OpenVPN-NL. Dat programma is mede opgezet door beveiligingsbedrijf Fox-IT, dat aanvankelijk circa achtduizend regels code onder de loep nam voor de Nederlandse versie. Met OpenVPN-NL kunnen overheidsmedewerkers vanuit huis of een andere locatie toegang krijgen tot vertrouwelijke informatie. Van OpenVPN-NL is eveneens een nieuwe variant verschenen naar aanleiding van de kwetsbaarheid.

Door Yoeri Nijs

Nieuwsposter

19-01-2015 • 17:59

7 Linkedin

Reacties (7)

7
7
6
1
0
0
Wijzig sortering
Het probleem is natuurlijk dat dit soort bibliotheken meestal in firmware gebruikt wordt. En het kan lang duren (als het al gebeurd) voordat er een update komt.
Anoniem: 601707
@[Yellow]19 januari 2015 18:09
In firmware moet je om te beginnen al geen hardcoded client certificaat authenticatie gaan afhandelen aangezien het root certificaat altijd expired raken een CRL checks kun je doorgaans vanuit firmware niet doen.
Root certificaten zitten normaliter natuurlijk niet IN een library verwerkt, maar staan los in de firmware en zijn meestal gewoon te updaten. De meeste routers / access points en andere netwerk apparatuur update ook regelmatig zijn rootcertificaten, dus dit zou niet zo'n groot probleem moeten zijn.

Tenzij de library natuurlijk lek is, maar dat kun je van te voren ook niet weten.
Waarom zou een router root certificaten nodig hebben? Een router heeft inhoudelijk geen weet van het TLS verkeer wat hij routeerd. Enkel voor 802.1X op je accesspoint zou je root certificaten geinstalleerd kunnen hebben maar meestal installeer je enkel die van de relevante CA.

En wat staatsgeheim bedoelt (denk ik) is dat het gat zit hem in als PolarSSL een certificaat parsed. Dit gebeurt enkel als je TLS met client authenticatie gebruikt. Anders kan je geen certificaat door PolarSSL zijn mik duwen die speciaal gemaakt is om die kwestbaarheid te benutten. Embedded devices gebruiken dat doorgaans niet.
Klopt, maar veel routers bieden ook de mogelijkheid om beveiligde VPN's (IPSEC) op te zetten zowel als endpoint, maar ook als relay (bridge). Voor dat laatste kan het noodzakelijk zijn dat de router zijn root certificaten kan updaten. Veel beheerders hebben deze optie overigens uit staan.

Maar de root certificaten zijn natuurlijk niet alleen beperkt tot de VPNs, maar de beheersomgeving wil je via SSL/TLS (HTTPS) kunnen benaderen. De webserver op je router moet dan wel een aantal root certificaten accepteren.

Mijn MikroTik router maakt gebruik van zowel server- als client certificaten. Extern is mijn router overigens alleen te benaderen over een IPSEC VPN verbinding..

Behalve root certificaten, wil je ook dat je router regelmatig (elke dag) de nieuwe CRLs ophaalt. Daarmee kun je al voorkomen dat iemand verbinding maakt met een client welke door de CA is ingetrokken.

Het is wel jammer dat nu ook PolarSSL met een SSL gerelateerde bug in het nieuws komt. Vorig jaar hadden we ook al de Heartbleed bug. Vorig jaar was mijn Mikrotik router niet vatbaar voor de Heartbleed bug, omdat zij als bij RouterOS 6.12 waren overgestapt naar PolarSSL. Echter is 6.25 nog steeds de laatste versie en dus heb ik zelf de VPN even uitgezet. Aangezien vorige week 6.26 RC2 was uitgekomen, hoop ik dat de PolarSSL update met 6.26 zal meekomen..
Een kwaadwillende kan door middel van een malafide certificaat een server met PolarSSL om de tuin leiden. Dit is mogelijk doordat de kwetsbaarheid kan worden gebruikt alvorens het programma de geldigheid van het certificaat controleert.
Dat is dus met name het geval als er client certifcaten gebruikt worden, in het geval dat PolarSSL aan de server kant gebruikt worden.
Dat programma is mede opgezet door beveiligingsbedrijf Fox-IT, dat aanvankelijk circa achtduizend regels code onder de loep nam voor de Nederlandse versie.
Hebben we hier een cyber-oorlog tussen concurrenten?
Zou wel een constructieve cyber-oorlog zijn en nog vermakelijk om te volgen.

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee