
Nicht-destruktiver Detektor für CVE-2026-31431 (Copy Fail) lokale Privilegieneskalation in XCP-ng 8.3 Dom0, der die Kernel-Schwachstelle über einen Page-Cache-Korruptionstest validiert.
Ein sicheres, nicht-destruktives Detektionsskript für CVE-2026-31431 („Copy Fail“), validiert gegen XCP-ng 8.3 LTS vor dem Sicherheitsupdate vom 5. Mai 2026.
⚠️ Nur für autorisierte Nutzung. Führen Sie dieses Skript ausschließlich auf Systemen aus, die Ihnen gehören oder für die Sie ausdrücklich autorisiert sind.
CVE-2026-31431, auch „Copy Fail“ genannt, ist eine lokale Privilegieneskalation (LPE) in der kryptografischen Schnittstelle algif_aead des Linux-Kernels. Ein Logikfehler in der authencesn-Vorlage — eingeführt 2017 — ermöglicht es einem nicht-privilegierten lokalen Benutzer, einen kontrollierten 4-Byte-Schreibvorgang in den Page Cache des Kernels einer beliebigen lesbaren Datei durchzuführen, was eine Privilegieneskalation zu root ermöglicht.
a664bf3d603d von Herbert XuDie Dom0-Kontroll-Domain von XCP-ng läuft auf einem Linux-Kernel und ist die Verwaltungsebene des Hypervisors. Jeder nicht-privilegierte Benutzer mit Shell-Zugriff auf Dom0 — einschließlich Dienstkonten, die für CI/CD-Pipelines, Überwachungsagenten, Backup-Tools oder Automatisierung erstellt wurden — kann diese Schwachstelle ausnutzen, um root zu erlangen. Von root in Dom0 aus sind alle Gast-VMs auf diesem Host kompromittiert.
Eine Standardinstallation von XCP-ng hat eine minimale Angriffsfläche, da nur sehr wenige Prozesse als Nicht-root-Benutzer laufen. Das tatsächliche Risiko wächst im Laufe der Zeit, wenn Administratoren Dienstkonten für legitime Zwecke hinzufügen, ohne den Shell-Zugriff einzuschränken.
Prüfen Sie Ihre Dom0-Dienstkonten:
awk -F: '$7 ~ /bash|sh/' /etc/passwd
Dies ist ein Labor-Detektor, kein Privilegieneskalations-Tool. Es:
algif_aead / authencesn-Page-Cache-Scratch-Write-Primitive gegen diese Datei auszulösenSystembinärdateien, /etc/passwd und andere Systemdateien werden niemals berührt. Die Page-Cache-Korruption ist nur im Speicher — es wird nichts auf die Festplatte zurückgeschrieben.
os.splice)python3 xcp_ng_cve_2026_31431_tester.py
| Code | Bedeutung |
|---|---|
0 | Keine Korruption beobachtet — System ist wahrscheinlich gepatcht oder algif_aead ist deaktiviert |
1 | Trigger-Fehler — algif_aead ist möglicherweise nicht verfügbar oder blockiert |
2 | Verwundbar — Page-Cache-Korruption bestätigt |
Hinweis: Exit-Code
1auf einem gepatchten System ist erwartetes Verhalten, kein Skriptfehler. Wennauthencesnauf Kernel-Ebene deaktiviert wurde (wie im XCP-ng-Fix vom 5. Mai), schlägt der Socket-Bind fehl und das Skript beendet sich mit Code1.
| Datum | Ereignis |
|---|---|
| 29. April 2026 | CVE-2026-31431 öffentlich offengelegt |
| 4. Mai 2026 | VATES veröffentlicht VSA-2026-013 |
| 5. Mai 2026 | XCP-ng 8.3 LTS Mai-Sicherheitsupdate veröffentlicht — Kernel-Fix verfügbar |
Aktualisieren Sie Ihre XCP-ng-Hosts und starten Sie neu:
yum update
reboot
Nach dem Neustart überprüfen Sie, ob der aktualisierte Kernel läuft:
uname -r
Führen Sie dieses Detektionsskript nach dem Patchen erneut aus. Ein gepatchtes System gibt Exit-Code 1 (Trigger-Fehler) zurück, da die verwundbare authencesn-Vorlage nicht mehr verfügbar ist.
Hinweis: Der XCP-ng-Fix deaktiviert die IPSec-ESN-Unterstützung als Folge der Entfernung der verwundbaren
authencesn-Komponente. Für die meisten Umgebungen hat dies keine praktischen Auswirkungen. VATES hat angekündigt, dass ein zukünftiger Patch diese Funktionalität mit einem ordnungsgemäßen Fix wiederherstellen könnte.
Bevor Sie Gegenmaßnahmen anwenden, prüfen Sie, ob algif_aead als Modul (=m) kompiliert oder in den Kernel eingebaut (=y) ist:
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
=m — Modulbasiert; Modprobe-Blacklist funktioniert=y — In den Kernel eingebaut; Modprobe-Blacklist wird still fehlschlagen und keinen Schutz bietenFür RHEL-Familien-Kernel mit =y verwenden Sie stattdessen den grubby-Boot-Parameter:
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot
Dieses Skript ist eine modifizierte Ableitung der ursprünglichen Arbeit von rootsecdev. Bitte überprüfen Sie die Lizenz des Upstream-Repositorys vor der Weiterverbreitung und stellen Sie sicher, dass Ihre Nutzung deren Bedingungen entspricht.
Dieses Skript wurde auf XCP-ng 8.3 LTS mit einem ungepatchten Kernel zum Stand vom 5. Mai 2026 validiert. Wenden Sie das offizielle VATES-Sicherheitsupdate sofort an, falls Sie dies noch nicht getan haben.