Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-12748 — Prova di concetto e dettagli per CVE-2025-12748 | Kitploit
Strumenti/GitHubGitHub/teresh1/cve-2025-12748
Sicurezza dell'Infrastruttura CloudAnalisi delle VulnerabilitàExploitApprendimento e Formazione
GitHubteresh1/cve-2025-12748

CVE-2025-12748

Prova di concetto e dettagli per CVE-2025-12748

Vedi Repository
9 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2025-12748

Ita Rus

  • Crediti: Svyatoslav Tereshin (@TERESH1), Artem Mukhin (@saladosss)
  • Problemi: #687, #825

Italiano

Descrizione

È stato scoperto un problema nella procedura di elaborazione del file XML.

L'elaborazione del contenuto del file viene eseguita prima del controllo ACL. Ciò consente a un utente con permessi limitati di inviare un file XML appositamente predisposto che può causare un consumo eccessivo di risorse, portando a un potenziale attacco di denial-of-service (DoS).

Configurazione dell'ambiente

  1. SO: server Alt Linux P10
  2. Installare e configurare libvirt/qemu come descritto nell'articolo (in lingua russa)
  • riepilogo in inglese:
root@kitploit:~
apt-get install libvirt libvirt-kvm libvirt-qemu
gpasswd -a user vmusers
systemctl enable --now libvirtd
  1. In /etc/libvirt/libvirtd.conf, sostituire il contenuto con:
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. Aggiungere una regola per polkit (/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. Riavviare i servizi: systemctl restart libvirtd polkit

Riproduzione

Tentativo di accesso a libvirt con un file XML valido:

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

Verrà ricevuto il seguente errore:

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

E il corrispondente log di polkit:

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]

Tentativo di accesso a libvirt con un file XML malintenzionato:

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

Il log sarà vuoto a causa del blocco del server, e un aumento del consumo di risorse da parte di libvirtd può essere osservato in top.

Руссский

Описание

Обнаружена проблема при обработке xml-файла.

Обработка содержимого файла выполняется до проверки ACL. Это позволяет пользователю с ограниченными правами отправить специально сформированный XML-файл, который может вызвать чрезмерное потребление ресурсов, что приводит к потенциальной атаке типа "отказ в обслуживании" (DoS).

Настройка окружения

  1. ОС Alt Linux P10 server
  2. установить/настроить libvirt/qemu по статье
  3. в /etc/libvirt/libvirtd.conf заменить текст на:
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. добавить правило для polkit (/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. перезапустить: systemctl restart libvirtd polkit

Воспроизведение

Обращение к libvirt с валидным xml-файлом:

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

Будет получена ошибка:

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

И соответствующий лог polkit:

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]

Обращение к libvirt с вредоносным xml-файлом:

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

Лог будет пустой из-за зависания сервера, в top можно проконтролировать увеличение потребляемых ресурсов libvirtd.

Scarica lo strumento