5.5 KiB
Sicherheitshinweise - LibreBooking n8n Node
Dieses Dokument erklärt die npm audit Vulnerabilities und wie man damit umgeht.
Inhaltsverzeichnis
- Übersicht der Vulnerabilities
- Warum diese Vulnerabilities existieren
- Risikoeinschätzung
- Empfehlungen
- Wie man sie beheben kann
- Produktionsumgebungen
Übersicht der Vulnerabilities
Beim Ausführen von npm audit werden möglicherweise folgende Vulnerabilities angezeigt:
Critical: form-data
form-data <4.0.1
Severity: critical
Prototype Pollution in form-data
https://github.com/advisories/GHSA-xxx
Moderate: lodash
lodash <4.17.21
Severity: moderate
Prototype Pollution in lodash
https://github.com/advisories/GHSA-xxx
Warum diese Vulnerabilities existieren
Diese Vulnerabilities kommen nicht direkt aus diesem Projekt, sondern sind transitive Dependencies von n8n-workflow und n8n-core.
Dependency-Kette:
n8n-nodes-librebooking
└── n8n-workflow (devDependency für Typen)
└── axios
└── form-data (vulnerable version)
└── lodash (vulnerable version)
Wichtig zu verstehen:
- n8n-workflow ist nur als
devDependencyundpeerDependencydeklariert - In Produktion verwendet n8n seine eigene n8n-workflow Version
- Die vulnerable Dependencies werden nur beim Entwickeln installiert
- Diese Package werden nicht in das finale dist/ Verzeichnis gebündelt
Risikoeinschätzung
Für dieses Projekt: NIEDRIGES RISIKO
| Aspekt | Risiko | Begründung |
|---|---|---|
| Entwicklung | Niedrig | form-data/lodash werden nicht direkt verwendet |
| Produktion | Sehr niedrig | Keine transtiven Dependencies werden deployed |
| n8n Runtime | Abhängig von n8n | n8n selbst muss die Vulnerabilities beheben |
Warum niedriges Risiko:
-
form-data Vulnerability:
- Betrifft nur das Parsen von multipart/form-data
- Dieser Node verwendet keine File-Uploads über form-data
- Die LibreBooking API verwendet JSON für alle Requests
-
lodash Vulnerability:
- Betrifft
_.set()und_.setWith()Funktionen - Dieser Node verwendet keine direkten lodash Aufrufe
- Die Vulnerability erfordert Angreifer-kontrollierten Input
- Betrifft
Empfehlungen
Für Entwickler:
-
Warnungen ignorieren (wenn nicht kritisch):
npm install --ignore-scripts -
Audit bei npm install deaktivieren:
# Einmalig: npm install --no-audit # Permanent via .npmrc: echo "audit=false" >> .npmrc -
Overrides verwenden (in package.json):
"overrides": { "form-data": "^4.0.1", "lodash": "^4.17.21" }
Für Produktionsumgebungen:
- n8n aktuell halten: Die n8n-Entwickler aktualisieren regelmäßig ihre Dependencies
- Nur vertrauenswürdige Inputs: Keine ungeprüften Daten an die Nodes übergeben
- Network Isolation: n8n Container im isolierten Netzwerk betreiben
Wie man sie beheben kann
Option 1: Overrides in package.json (empfohlen)
Die package.json enthält bereits Overrides für bekannte Vulnerabilities:
"overrides": {
"form-data": "^4.0.1",
"lodash": "^4.17.21"
}
Option 2: npm audit fix (begrenzt)
# Automatische Fixes (nur kompatible Updates)
npm audit fix
# Force Fixes (VORSICHT: kann Breaking Changes einführen)
npm audit fix --force
Hinweis: npm audit fix kann transitive Dependencies nur begrenzt beheben.
Option 3: Update-Skript verwenden
./update-dependencies.sh
Das Skript:
- Führt
npm audit fixaus - Aktualisiert alle Dependencies
- Testet ob alles funktioniert
- Gibt einen Report
Option 4: Resolutions (für yarn/pnpm)
Wenn Sie yarn statt npm verwenden:
"resolutions": {
"form-data": "^4.0.1",
"lodash": "^4.17.21"
}
Produktionsumgebungen
Best Practices:
-
Docker Image aktuell halten:
docker pull n8nio/n8n:latest -
Regelmäßige Updates:
docker compose pull docker compose up -d -
Security Scanning:
# Image auf Vulnerabilities prüfen docker scan n8nio/n8n:latest # Oder mit Trivy: trivy image n8nio/n8n:latest -
Netzwerk-Isolation:
- n8n nicht direkt im Internet exponieren
- Reverse Proxy mit TLS verwenden
- Firewall-Regeln setzen
-
Zugriffskontrollen:
- Starke Passwörter verwenden
- Basic Auth oder OAuth aktivieren
- API-Keys für LibreBooking sicher speichern
Sicherheits-Checkliste:
- n8n Version aktuell?
- Docker Image aktuell?
- TLS/HTTPS aktiviert?
- Starke Passwörter?
- Netzwerk isoliert?
- Regelmäßige Backups?
Weiterführende Links
- n8n Security Best Practices
- npm audit Documentation
- OWASP Dependency Check
- Snyk Vulnerability Database
Meldung von Sicherheitsproblemen
Wenn Sie eine Sicherheitslücke direkt in diesem Projekt (nicht in Dependencies) finden:
- Nicht öffentlich melden (kein GitHub Issue)
- Kontaktieren Sie uns direkt per E-Mail
- Geben Sie Zeit für einen Fix bevor öffentliche Disclosure
Letzte Aktualisierung: Januar 2026