Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-12748 — ACL 검사를 우회하여 리소스 고갈을 허용하는 libvirt XML 처리의 서비스 거부 취약점인 CVE-2025-12748에 대한 개념 증명입니다. | Kitploit
도구/GitHubGitHub/teresh1/cve-2025-12748
Cloud Infrastructure SecurityVulnerability AnalysisExploitationLearning & Education
GitHubteresh1/cve-2025-12748

CVE-2025-12748

ACL 검사를 우회하여 리소스 고갈을 허용하는 libvirt XML 처리의 서비스 거부 취약점인 CVE-2025-12748에 대한 개념 증명입니다.

저장소 보기
1810개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-12748

Eng Rus

  • 크레딧: Svyatoslav Tereshin (@TERESH1), Artem Mukhin (@saladosss)
  • 이슈: #687, #825

English

설명

XML 파일 처리 과정에서 문제가 발견되었습니다.

파일 내용 처리가 ACL 검사보다 먼저 수행됩니다. 이로 인해 제한된 권한을 가진 사용자가 특수하게 조작된 XML 파일을 제출하여 과도한 리소스 소비를 유발할 수 있으며, 이는 잠재적인 서비스 거부(DoS) 공격으로 이어질 수 있습니다.

환경 설정

  1. OS: Alt Linux P10 server
  2. 문서 (러시아어)에 따라 libvirt/qemu를 설치 및 구성합니다.
  • 영문 요약:
apt-get install libvirt libvirt-kvm libvirt-qemu
gpasswd -a user vmusers
systemctl enable --now libvirtd
  1. /etc/libvirt/libvirtd.conf에서 내용을 다음으로 교체합니다:
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):
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

재현

유효한 XML 파일로 libvirt에 접근 시도:

virsh --connect qemu://system define ./test.xml

다음 오류가 발생합니다:

error: Failed to define domain from ./test.xml
error: access denied: access denied "QEMU"

그리고 해당 polkit 로그:

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]

악성 XML 파일로 libvirt에 접근 시도:

virsh --connect qemu://system define ./oom.xml

서버가 중단되어 로그는 비어 있으며, top에서 libvirtd의 리소스 소비 증가를 확인할 수 있습니다.

Руссский

설명

XML 파일 처리 과정에서 문제가 발견되었습니다.

파일 내용 처리가 ACL 검사보다 먼저 수행됩니다. 이로 인해 제한된 권한을 가진 사용자가 특수하게 조작된 XML 파일을 제출하여 과도한 리소스 소비를 유발할 수 있으며, 이는 잠재적인 서비스 거부(DoS) 공격으로 이어질 수 있습니다.

환경 설정

  1. OS: Alt Linux P10 server
  2. 문서에 따라 libvirt/qemu를 설치 및 구성합니다.
  3. /etc/libvirt/libvirtd.conf에서 내용을 다음으로 교체합니다:
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):
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

재현

유효한 XML 파일로 libvirt에 접근 시도:

virsh --connect qemu://system define ./test.xml

다음 오류가 발생합니다:

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

그리고 해당 polkit 로그:

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]

악성 XML 파일로 libvirt에 접근 시도:

virsh --connect qemu://system define ./oom.xml

서버가 중단되어 로그는 비어 있으며, top에서 libvirtd의 리소스 소비 증가를 확인할 수 있습니다.

도구 다운로드