Onderzoekers hebben een kwetsbaarheid in op Linux en op Unix gebaseerde besturingssystemen gevonden die het mogelijk maakt om vpn-verbindingen te kapen en willekeurige code in dataverkeer te injecteren.
De kwetsbaarheid krijgt de aanduiding CVE-2019-14899. Het lek maakt het volgens beveiligingsonderzoekers van Breakpointing Bad mogelijk om te bepalen dat een gebruiker een actieve vpn-verbinding heeft, en welk virtueel ip-adres ze toegewezen hebben gekregen van de vpn-aanbieder. Vervolgens kunnen aanvallers de sequentie- en acknowledge-nummers bepalen door de versleutelde pakketjes te tellen en hun grootte af te leiden. Daarna kunnen ze de tcp-sessie in de vpn-tunnel kapen en via het lek willekeurige payloads in versleutelde connecties injecteren, beschrijven de onderzoekers.
De methode werkt volgens hen op Linux, FreeBSD, OpenBSD, macOS, iOS en Android. In ieder geval Linux-distro's met systemd-versies van ná 28 november 2018 zijn kwetsbaar. Bij deze versie is de Reverse Path-filteringmodus van Strict naar Loose gezet. De kwetsbaarheid is echter niet beperkt tot deze versies. De onderzoekers hebben het probleem getest met Ubuntu 19.10, Fedora, Debian 10.2, Arch 2019.05, Manjaro 18.1.1, Devuan, MX Linux 19, Void Linux, Slackware 14.2, Deepin, FreeBSD en OpenBSD. Wat vpn's betreft hebben zij OpenVPN, WireGuard en IKEv2/IPSec getest, maar volgens de deskundigen maakt de gebruikte vpn-technologie niet uit voor de kwetsbaarheid.
Het probleem is te verhelpen door Reverse Path-filtering in te schakelen, Bogon-filtering te activeren of door de versleutelde pakketjes van dezelfde omvang te maken. De onderzoekers beloven meer details bekend te maken zodra er betere workarounds zijn.