Zum Inhalt springen
EUID Prüfservice & Prüfsiegel, Startseite
Website prüfen lassen

Prüfpunkt co2.symbol.rasterBilder

Sind SVG-Dateien ein Sicherheitsrisiko?

Eine SVG-Datei ist Text, und dieser Text darf Skripte enthalten. Ob ein Skript läuft, hängt davon ab, wie die Datei auf die Seite kommt: Als Bild eingebunden, etwa per img, schalten Browser JavaScript darin ab. Öffnet jemand die Datei direkt, gilt diese Einschränkung nicht. Das Risiko liegt deshalb vor allem bei SVG-Dateien, die Fremde auf Ihren Server hochladen können.

Was eine SVG-Datei als Bild darf

Browser schränken SVG aus Sicherheitsgründen ein, wenn es als Bild läuft: per img, als CSS-Hintergrund, in list-style-image oder content, über die SVG-Elemente image und feImage oder beim Zeichnen in ein canvas. JavaScript ist dann abgeschaltet, und die Datei lädt keine weiteren Bilder oder Stylesheets nach; was sie zeigen soll, muss als data-URL in ihr stehen. Diese Einschränkungen gelten nur im Bildkontext. Wird dieselbe Datei direkt aufgerufen oder per iframe, object oder embed eingebunden, laufen Skripte darin wie auf einer Webseite.

Wo die Gefahr entsteht: Uploads von Fremden

Ein Formular, über das Besucher Dateien hochladen, oder ein Zugang für Redakteure kann eine präparierte SVG-Datei auf Ihren Server bringen. Liegt sie dort und ruft jemand ihre Adresse auf, läuft das Skript im Browser dieser Person, unter der Adresse Ihrer Website. WordPress führt SVG nicht in der Liste der Dateitypen, die sich in der Grundeinstellung hochladen lassen; die Liste nennt bei den Bildern JPEG, PNG, GIF, BMP, TIFF, ICO, HEIC, WebP und AVIF.

SVG-Uploads mit Bereinigung

Wer SVG in WordPress freischalten will, nimmt eine Erweiterung, die jede Datei beim Hochladen bereinigt. Safe SVG der Agentur 10up hat über eine Million aktive Installationen und bereinigt mit der Bibliothek svg-sanitizer, deren Ansatz von DOMPurify stammt. Die Bibliothek arbeitet mit einer Liste erlaubter Elemente und Attribute. Erlauben Sie den Upload außerdem nur den Konten, die ihn brauchen.

So gehen Sie es an

  1. Binden Sie Logos und Symbole per img oder als CSS-Hintergrund ein, wenn sie keine Farbe von der Seite übernehmen müssen.
  2. Setzen Sie SVG-Code nur dann direkt ins HTML, wenn er aus einer Quelle stammt, der Sie vertrauen.
  3. Öffnen Sie eine fremde SVG-Datei vor dem Einbau in einem Texteditor und suchen Sie nach script und nach Attributen, die mit on beginnen.
  4. Nehmen Sie in Formularen für Besucher nur die Dateitypen an, die Sie brauchen, etwa JPEG und PNG.

Mehr zu diesem Thema

Weiter im Prüfbereich CO₂ & EmpCo

Dieser Prüfpunkt gehört zum Prüfbereich CO₂ & EmpCo; dort stehen alle Prüfpunkte im Überblick. Was die Prüfung insgesamt leistet, zeigt die Leistungsseite; wie ein Ergebnis zustande kommt, erklärt das Prüfverfahren. Alle Prüfbereiche im Überblick: Wissensbasis.

  • Siegel Digitale Barrierefreiheit
  • Siegel Daten & Recht
  • Siegel Technische Qualität
  • Siegel Digital Excellence
  • Siegel Cyberversicherung

Geprüft. Für eine bessere digitale Zukunft.euid.com