Wat Squidbleed werkelijk lekt

Squidbleed, geregistreerd als CVE-2026-47729, is een heap-buffer-overlezing in de FTP-mappenlijst-parser van Squid, een van de meest ingezette webproxy's op internet. Wanneer Squid een FTP-lijst weergeeft waarin de bestandsnaam ontbreekt, loopt een lus die spaties overslaat een stap te ver en leest geheugen voorbij de bedoelde buffer. Omdat Squid vrijgegeven geheugen tussen verzoeken hergebruikt, zijn die verdwaalde bytes vaak fragmenten van het verkeer van andere gebruikers: HTTP-verzoeken in leesbare tekst met wachtwoorden, cookies, sessietokens en API-sleutels.

De blootstelling is smaller dan bij Heartbleed, maar reëel. Een aanvaller moet een gemachtigde gebruiker van een gedeelde proxy zijn en een FTP-server beheersen die de proxy op poort 21 kan bereiken, wat het risico richt op insiders en op elke opstelling waarin de proxy TLS termineert. HTTPS-verkeer dat als ondoorzichtige tunnel wordt doorgegeven blijft verzegeld, dus wat op het spel staat zijn de HTTP-stromen in leesbare tekst en de TLS-getermineerde stromen die dagelijks nog door bedrijfsproxy's gaan.

Een regel, negenentwintig jaar, en de AI die hem vond

De oorzaak is bijna banaal. De code riep strchr aan op een tekenreeks die leeg kon zijn, en de C-standaard zegt dat strchr de afsluitende nulbyte als deel van de tekenreeks behandelt, zodat de controle die bij het einde van de invoer had moeten stoppen er stilletjes voorbij ging. Het schuldige patroon gaat terug op een Squid-commit uit januari 1997, wat betekent dat de fout in standaardconfiguraties werd uitgeleverd, poort 21 staat in de standaardlijst Safe_ports, negenentwintig jaar lang over talloze versies, herschrijvingen en beveiligingsreviews. De oplossing is een enkele toegevoegde voorwaarde, een null-controle voor strchr, of FTP helemaal uitzetten, wat Chromium jaren geleden liet vallen en waar bijna geen netwerk nog op leunt.

Het detail dat de aandacht van een exploitant zou moeten vasthouden is wie hem vond. Twee onderzoekers meldden hem onafhankelijk, Pavel Kohout van Aisle Research in maart 2026 en Lam Jun Rong van Calif.io in april, en de beheerders voegden de oplossing binnen dagen samen, met het openbare advies op 23 juni. Maar de oorspronkelijke ontdekking kwam van een AI-agent die de FTP-toestandsmachine moest doorlopen, niet van een nieuwe menselijke audit. De comfortabele aanname dat oude, veel beoordeelde code veilig is door zijn leeftijd zakte zojuist heel openbaar, en het gereedschap dat haar brak is nu goedkoop en breed beschikbaar.

Wat een exploitant deze week zou moeten doen

De concrete stap is klein: inventariseer elke Squid-instantie die je draait, patch naar een gecorrigeerde versie, en als je FTP-proxying niet bewust nodig hebt, schakel het uit en haal poort 21 uit Safe_ports. Geef voorrang aan elke proxy die TLS termineert of HTTP in leesbare tekst voor meerdere gebruikers draagt, want daar kunnen de inloggegevens van collega's naar elkaar lekken. In Nederland behandelt het NCSC blootstelling van inloggegevens op gedeelde infrastructuur als een meldingsplichtig incident, en in de hele EU legt de Cyberbeveiligingswet, de omzetting van NIS2, de verantwoordelijkheid voor een bekende, ongepatchte fout bij de aangewezen leiding, niet alleen bij het beveiligingsteam.

De grotere zet is stoppen met de leeftijd van een afhankelijkheid te behandelen als bewijs van haar veiligheid. Een fout van een regel verborg zich negenentwintig jaar in software die duizenden organisaties juist vertrouwden omdat ze volwassen was, en een AI-beoordelaar vond hem in een enkele doorloop. Verwacht dat meer van deze sluimerende fouten opduiken in je oudste en meest vertrouwde componenten, en begroot een gestage stroom kleine, oninteressante patches in plaats van een enkele dramatische.