Stille sluipaanval via pushberichten: hoe je notificaties misbruikt als verborgen toegangspoort

Stille sluipaanval via pushberichten: hoe je notificaties misbruikt als verborgen toegangspoort

Mei 18, 2026 web-security service-workers push-notifications vulnerability api-security web-platform browser-security exploitation

De stille dreiging die je nooit ziet aankomen

Push-notificaties zijn niet meer weg te denken uit moderne webapplicaties. Van realtime samenwerkingstools tot systemen die kritieke waarschuwingen versturen: ze houden gebruikers op de hoogte. Maar wat als dit mechanisme juist wordt misbruikt als een verborgen, blijvende aanval?

Dat is precies wat de Sleeping Agent-kwetsbaarheid doet. De exploit speelt in op een timingverschil in de manier waarop browsers de beveiliging van de Web Push API controleren.

Waar de aanval zich afspeelt

De Web Push API kent een belangrijke beveiliging: userVisibleOnly: true. Deze instelling moet ervoor zorgen dat elke pushmelding ook daadwerkelijk zichtbaar wordt voor de gebruiker.

In theorie klinkt dat goed. In de praktijk blijkt er ruimte te zijn voor misbruik.

Een kwaadaardige Service Worker reageert op een push-event door twee dingen razendsnel na elkaar te doen:

  1. Een notificatie tonen met showNotification()
  2. Diezelfde notificatie meteen weer verbergen met notification.close()

De melding verschijnt kortstondig in de interne database van de browser, maar verdwijnt voordat de gebruiker er iets van ziet. Belangrijk daarbij: de browser controleert niet of de melding écht op het scherm stond,而是查詢的database. Zo ontstaat een race condition. De browser denkt dat alles volgens de regels is gegaan. De gebruiker ziet niets. De verbinding met de aanvalsketen blijft intact.

Waarom dit relevant is

Deze kwetsbaarheid haalt de vertrouwensbasis onder de Push API weg:

Onzichtbare verbindingen blijven bestaan: Attackers kunnen long-lived channels zonder kennis van de gebruiker. Traditionele malware vraagt om installatie, terwijl een bezoek aan een compromised website al voldoende is.

Vertrouwensgrenzen vervagen: Compliance frameworks vertrouwen op zichtbaarheid als een trust boundary. Dit maakt dat boundary weg.

Multi-browser probleem: Chrome, Edge en zelfs oudere Safari-versies zijn getroffen. De exploit is eenvoudig te reproduceren.

Gemakkelijk uit te voeren: Geen complexe tools of exploit kits nodig. De attack kan in vijf minuten worden opgezet op stable versies.

De technische kant

De kwetsbaarheid bestaat omdat de browser de controle pas uitvoert nadat de Service Worker haar taak heeft gedaan. De sequence is:

  1. Een push-event komt binnen
  2. De Service Worker voert showNotification() en notification.close() uit
  3. De Service Worker stopt
  4. De browser vraagt aan de database: "Was er een notificatie?"
  5. De database bevat een record (die al weer is gesloten)
  6. De controle passeert
  7. Het push-event wordt als valid beschouwd

Het timingwindow is narrow, maar consistent genoeg om te exploiteren.

Wat dit betekent voor developers

De exploit verdwijnt niet als een productie-app gebruikmaakt van push. 而是查詢的database. Zo ontstaat een race condition. De browser denkt dat alles volgens de regels is gegaan. De gebruiker ziet niets. De verbinding met de aanvalsketen blijft intact.

Audit je Service Workers: Als een third-party script infecteert de Service Worker, wordt de vulnerability jouw probleem.

Track lifecycle events: Implementeer monitoring rond showNotification() en close() om suspicious patterns te ontdekken.

Verifieer de bron: Implementeer cryptographic verification om te waarborgen dat push-events van je eigen server komen, niet van een attacker.

De bredere context

Deze kwetsbaarheid toont de uitdaging van web security: het verschil tussen intentie van de specificatie en wat browsers in de praktijk doen. De W3C zegt dat browsers SHOULD enforce user visibility. De enforcement checkt de database,而不是 visible surface.

Hoe verder?

Browser vendors zijn aware van het issue en hebben fixes in de planning. Production systems kunnen beter:

  1. Monitoren op suspicious notification patterns in de Service Worker
  2. Serverseitig de sender van push Nachrichten verifiëren
  3. Browsers updaten als vendors patchen
  4. Threat model overwegen als Web Push voor gevoelige ops gebruikt wordt

De Web Push API is still waardevol voor legitieme use cases. Tegenwoordig vraagt men naar defense-in-depth practices voor protection van apps en пользователей.

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NB HU IT FR ES DE DA ZH-HANS EN