DNS-förgiftning låter kanske som någon sorts matförgiftning, men så är inte fallet. Det är istället ett sätt för hackare att ändra DNS-inställningar på internetuppkopplad hårdvara. DNS, även kallat domännamnssystemet, översätter domännamn till IP-adresser. Ändras DNS-inställningar till en DNS-server som styrs av illvilliga kan det betyda att den information som skickas via internet från en viss enhet eller ett visst nätverk blir tillgänglig för obehöriga.

Nu framgår att en sårbarhet upptäckts i Uclibc och Uclibc-ng, ett C-bibliotek som används i många Linux-baserade system. Sårbarheten är en kombination av två problem, där det första är att biblioteket är hårdkodat till att endast nyttja en port, i det här fallet port 53. Det andra är att uppslagningar tilldelas statiska transaktionsnummer, vilket ger en förutsägbar ordning.

Med vetskap om vilken port som används kan hackare tjuvlyssna på trafiken och därmed lista ut kommande transaktionsnummer, för att sedan injicera falska svar för att styra om DNS-förfrågningar till en annan DNS-server. Andra system som har varit utsatta för DNS-förgiftningar har löst detta genom att dynamiskt ändra vilken port som används.

Given that the transaction ID is now predictable, to exploit the vulnerability an attacker would need to craft a DNS response that contains the correct source port, as well as win the race against the legitimate DNS response incoming from the DNS server. Exploitability of the issue depends exactly on these factors. As the function does not apply any explicit source port randomization, it is likely that the issue can easily be exploited in a reliable way if the operating system is configured to use a fixed or predictable source port. – Säkerhetsforskare på Nozomi Networks

I dagsläget finns det ingen komplett lista på vilken hårdvara som är i riskzonen, men forskargruppen som hittade buggen meddelar att i stort sett alla produkter från Axis är påverkade, samt vissa routrar från Linksys och Netgear. Utöver det påverkas även inbyggda versioner av Gentoo, men kanske mycket mer problematiskt, buildroot som används för att bygga vissa inbyggda Linux-system som använder verktygslådan busybox med Uclibc.

Vanligtvis brukar mjukvarubuggar och sårbarheter fixas av en eller flera utvecklare till mjukvaran, men i det här fallet har utvecklaren gått bet och inte lyckats hitta en bra lösning på problemet. Utvecklaren har meddelat att det behövs ett samlat krafttag från mjukvarugemenskapen som har varit med och utvecklat Uclibc, men att det också är en väldigt liten grupp, vilket betyder att det kanske inte kommer någon lösning.