Die ganze Aufregung der letzten Tage drehte sich um eine Frage: Hat jemand Code auf meinem Server ausgeführt? Danach sucht jedes Werkzeug, auch unseres. Danach sucht jeder Dienstleister.
Es ist die richtige Frage. Sie ist nur nicht die einzige.
Denn bei dieser Art von Fehler gibt es einen zweiten Weg, der leiser ist: Der Server gibt Inhalte seines Arbeitsspeichers heraus, ohne dass irgendwo Code ausgeführt oder eine Datei verändert wird. Es bleibt keine Webshell zurück, kein veränderter Zeitstempel, kein Eintrag in einer Aufgabenplanung. Auf dem Dateisystem sieht alles aus wie immer.
Warum das überhaupt geht
Ein PHP-Arbeitsprozess bedient nacheinander viele Anfragen. Dazwischen wird der Speicher wiederverwendet – aus Geschwindigkeitsgründen, und das ist normal. In diesem Speicher liegt, was die vorherigen Anfragen gerade gebraucht haben.
Geht bei der Verarbeitung einer manipulierten Anfrage etwas schief, kann der Server Teile dieses Speichers in seine Antwort schreiben. Der Angreifer bekommt also nicht, was er sich aussucht, sondern was gerade danebenlag. Dafür kann er es beliebig oft wiederholen – und jedes Mal liegt etwas anderes daneben.
Was dort typischerweise liegt:
- Sitzungskennungen angemeldeter Benutzer, einschließlich Ihrer Redakteure und Administratoren
- Zugangsdaten zur Datenbank aus der Konfiguration
- Schlüssel für Schnittstellen – Zahlungsdienstleister, Versand, Buchhaltung, Mailversand
- Formularinhalte anderer Besucher, die zeitgleich etwas abgeschickt haben
- Teile von Antworten, die eigentlich für jemand anderen bestimmt waren
Es ist Zufall, was dabei herauskommt. Aber es ist kein Zufall, dass überhaupt etwas herauskommt.
Was das für Ihren Prüfbericht bedeutet
Hier liegt der unangenehme Teil, und wir schreiben ihn lieber selbst hin, als dass Sie ihn später von einem Prüfer hören:
Ein sauberer Befund auf dem Dateisystem schließt diesen Weg nicht aus. Unser Prüfwerkzeug sucht nach Hintertüren, nachgeladenen Startbefehlen und veränderten Konfigurationen. All das findet es zuverlässig, wenn es da ist. Einen Speicherabfluss findet es nicht – weil es dafür auf dem System nichts zu finden gibt. Genau deshalb steht dieser Punkt seit heute in jedem Bericht, den das Werkzeug ausgibt.
Es gibt genau eine Spur, und sie ist indirekt: gehäufte Serverfehler. Wenn ein Arbeitsprozess beim Verarbeiten abstürzt, steht das im Fehlerprotokoll – als Speicherfehler, als Signal 11, als Abbruch mit Status 500. Einzelne davon sind Alltag. Ein Bündel in kurzer Zeit, zeitlich passend zu ungewöhnlichen Anfragen, ist es nicht. Das Werkzeug meldet diese Häufungen inzwischen gesondert.
Was daraus folgt: austauschen statt suchen
Wenn sich ein Abfluss nicht ausschließen lässt, hilft Suchen nicht weiter. Es hilft nur, das Gesuchte wertlos zu machen.
Das klingt nach viel Arbeit und ist es auch. Deshalb in der Reihenfolge, in der es wirkt – nicht in der Reihenfolge, in der es Ihnen einfällt.
Zuerst: alle Sitzungen beenden
Eine gestohlene Sitzungskennung ist der direkteste Weg zurück ins System, und sie umgeht jedes Passwort und jede Zwei-Faktor-Anmeldung – denn die Anmeldung hat ja schon stattgefunden.
Praktisch bedeutet das: In WordPress, TYPO3 oder Ihrem Shop alle angemeldeten Benutzer abmelden. Die meisten Systeme können das zentral. Das verursacht fünf Minuten Unmut in der Redaktion und schließt den bequemsten Weg.
Dieser Schritt wird fast immer vergessen. Passwörter werden geändert, und die alten Sitzungen laufen weiter.
Dann: die Schlüssel, die Geld bewegen
In dieser Reihenfolge, weil der Schaden so gestaffelt ist:
- Zahlungsdienstleister – der Schlüssel, mit dem Ihr Shop abrechnet
- Mailversand – damit nicht über Ihre Domain versendet wird; wie teuer das wird, steht in Was Angreifer mit einem gekaperten Webserver verdienen
- Datenbankbenutzer der Webanwendung
- Schnittstellen zu Warenwirtschaft, Versand, Buchhaltung
- Administratorkonten im Redaktionssystem
- Zugänge zum Server selbst – SSH-Schlüssel, FTP, Fernwartung
Wer alles auf einmal tauscht, legt sich lahm. Wer nach dieser Reihenfolge vorgeht, hat nach Punkt zwei schon den größten Teil des möglichen Schadens abgeschnitten.
Und dann die unbequeme Frage
Wo gilt dasselbe Passwort noch? Ein Datenbankpasswort, das auch auf dem Testsystem läuft. Ein API-Schlüssel, der in drei Projekten steckt. Das ist der Punkt, an dem aus einem Website-Vorfall ein Firmenvorfall wird – derselbe Weg, der in Vom Webserver ins Firmennetz beschrieben ist.
Der Teil, der Sie betreffen könnte, auch wenn Ihr Server sauber ist
Drehen Sie es einmal um. Wenn Speicherinhalte anderer Besucher nach außen gelangen können, dann heißt das auch: Wo Sie Kunde sind, kann es Sie treffen, ohne dass Ihre eigene Technik etwas damit zu tun hat.
Haben Sie sich in den letzten Tagen in einem fremden Portal angemeldet, das auf PHP läuft? Bei einem Lieferanten, einem Verband, einer Behörde? Dann lag Ihre Sitzung dort im Speicher.
Das ist kein Grund zur Panik, aber es ist ein Grund, bei den zwei oder drei Portalen, die wirklich zählen, das Passwort zu wechseln und sich einmal überall abzumelden.
Muss das gemeldet werden?
Vorsicht, und zwar in beide Richtungen.
Eine Meldepflicht nach Artikel 33 DSGVO setzt eine Verletzung des Schutzes personenbezogener Daten voraus. Die theoretische Möglichkeit eines Speicherabflusses ist noch keine. Wer jede denkbare Möglichkeit meldet, meldet sich um Kopf und Kragen.
Anders wird es, sobald es Anhaltspunkte gibt: gehäufte Speicherfehler im passenden Zeitfenster, ungewöhnliche Anfragemuster, ein verdächtiger Zugriff. Dann beginnt die Frist von 72 Stunden – gerechnet ab dem Zeitpunkt, an dem Ihnen die Umstände bekannt werden, nicht ab dem Abschluss Ihrer Untersuchung.
Daraus folgt etwas Praktisches: Wer prüft, kann die Frist auslösen. Das ist kein Argument gegen das Prüfen – nicht zu wissen schützt nicht, und die Frist beginnt auch durch den Hinweis eines Dritten. Es ist ein Argument dafür, die Prüfung bewusst zu beginnen und das Ergebnis vom ersten Moment an zu dokumentieren.
Wie Sie das gegenüber Kunden formulieren, steht in Ihr Kunde verlangt einen Nachweis.
Was Sie sich sparen können
Damit die Liste oben nicht ins Uferlose wächst, drei Dinge, die hier nichts bringen:
Den Server neu aufsetzen. Gegen einen Speicherabfluss hilft das nicht – die Daten sind längst woanders. Gegen eine Hintertür hilft es, aber das ist ein anderes Problem.
Alle Benutzerpasswörter Ihrer Kunden zurücksetzen. Massenhafte Zwangsrücksetzungen erzeugen Support-Aufwand und Misstrauen. Sitzungen beenden genügt in aller Regel; Passwörter nur dort, wo es konkrete Anhaltspunkte gibt.
Warten, bis Gewissheit herrscht. Die kommt nicht. Bei diesem Weg gibt es keinen Nachweis, weder dafür noch dagegen.
Checkliste: erste Schritte
- Alle angemeldeten Sitzungen im Redaktionssystem zentral beenden
- Schlüssel des Zahlungsdienstleisters tauschen
- Zugangsdaten für den Mailversand erneuern
- Datenbankbenutzer der Webanwendung austauschen
- Schnittstellenschlüssel zu Warenwirtschaft und Buchhaltung erneuern
- Administratorkonten im CMS prüfen und Kennwörter wechseln
- SSH-Schlüssel und Fernwartungszugänge durchgehen
- Fehlerprotokolle auf gehäufte Speicherfehler im Zeitraum ab 17.10. ansehen
- Notieren, was wann getauscht wurde – das ist Teil Ihres Nachweises
Wie DAVINCI unterstützt
Wir gehen mit Ihnen die Liste in der Reihenfolge durch, in der sie wirkt, und sorgen dafür, dass der Austausch dokumentiert ist – das brauchen Sie später gegenüber Kunden und Versicherung. Die technische Prüfung Ihres Servers können Sie selbst vornehmen, mit dem kostenlosen Prüfwerkzeug, das die Häufung von Speicherfehlern inzwischen gesondert ausweist. Bei konkreten Anhaltspunkten übernimmt unser Incident Response. Für eine Einschätzung ohne Zugang gibt es den Quick-Check und den kostenlosen PHP-Sicherheitscheck. Erreichbar über die Kontaktseite.
Häufige Fragen
Woran merke ich, ob Speicher abgeflossen ist?
In aller Regel gar nicht. Die einzige indirekte Spur sind gehäufte Abstürze von PHP-Arbeitsprozessen im Fehlerprotokoll. Fehlen die, heißt das nicht, dass nichts war – es heißt, dass es keine Spur gibt.
Reicht es, die Passwörter zu ändern?
Nein, und das ist der häufigste Fehler. Eine bestehende Sitzung läuft nach einer Passwortänderung in vielen Systemen weiter. Erst das zentrale Beenden aller Sitzungen schließt diesen Weg.
Hilft Zwei-Faktor-Anmeldung dagegen?
Gegen den späteren Missbrauch gestohlener Passwörter ja, sehr gut. Gegen eine gestohlene Sitzung nicht – die hat den zweiten Faktor bereits hinter sich. Beides zusammen ist richtig, aber es ersetzt das Beenden der Sitzungen nicht.
Wir haben einen reinen Informationsauftritt ohne Anmeldung. Betrifft uns das?
Deutlich weniger. Ohne Anmeldungen gibt es kaum Sitzungen, und ohne Shop keine Zahlungsschlüssel. Übrig bleiben Datenbankzugang, Mailversand und Formularinhalte – überschaubar, aber nicht nichts.
Müssen wir unsere Kunden informieren?
Nur bei Anhaltspunkten, nicht bei theoretischer Möglichkeit. Wie man so ein Schreiben aufsetzt, ohne mehr Schaden anzurichten als der Vorfall selbst, steht in Kunden informieren nach einem Website-Vorfall.
Wie lange ist eine abgeflossene Sitzung gefährlich?
Bis sie abläuft oder beendet wird. Viele Systeme halten Sitzungen über Tage, manche über Wochen. Genau deshalb steht dieser Punkt in der Liste ganz oben.
Verwandte Themen: Wer hier weiterdenkt, liest bei Remote Code Execution, Webserver kompromittiert und PHP2Shell Tool weiter.
Im Text erwähnt
Quellen
- PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet · Wiz Research
- PHP: Kritische Schwachstellen bedrohen Webanwendungen weltweit, Cybersicherheitswarnung 2026-297981-1032, Version 1.1 (21.10.2026) · BSIamtlich
- IT-Grundschutz-Baustein ORP.4 Identitäts- und Berechtigungsmanagement · BSIamtlich
- Meldung von Verletzungen des Schutzes personenbezogener Daten · Art. 33 DSGVO





