guestfs-security - ອອນລາຍໃນຄລາວ

ນີ້ແມ່ນຄໍາສັ່ງ guestfs-security ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


guestfs-security - ຄວາມປອດໄພຂອງ libguestfs

ລາຍລະອຽດ


ຫນ້າຄູ່ມືນີ້ປຶກສາຫາລືກ່ຽວກັບຄວາມປອດໄພຂອງການນໍາໃຊ້ libguestfs, ໂດຍສະເພາະກັບ
ແຂກທີ່ບໍ່ເຊື່ອຖື ຫຼືເປັນອັນຕະລາຍ ຫຼືຮູບພາບດິສກ໌.

ຄວາມປອດໄພ OF ການເຄື່ອນຍ້າຍ ລະບົບໄຟລ໌
ທ່ານບໍ່ຄວນຕິດຕັ້ງລະບົບໄຟລ໌ແຂກທີ່ບໍ່ເຊື່ອຖືໂດຍກົງໃສ່ໂຮສເຄເອັນຂອງເຈົ້າ (ຕົວຢ່າງ.
ໃຊ້ loopback ຫຼື kpartx).

ເມື່ອທ່ານຕິດຕັ້ງລະບົບໄຟລ໌, ຄວາມຜິດພາດໃນລະບົບໄຟລ໌ kernel (VFS) ສາມາດເພີ່ມຂຶ້ນເປັນ.
ການຂູດຮີດໂດຍຜູ້ໂຈມຕີສ້າງລະບົບໄຟລ໌ທີ່ເປັນອັນຕະລາຍ. ການຂູດຮີດເຫຼົ່ານີ້ແມ່ນຮ້າຍແຮງຫຼາຍສໍາລັບ
ສອງເຫດຜົນ. ກ່ອນອື່ນ ໝົດ, ມີໄດເວີລະບົບໄຟລ໌ຫຼາຍໃນ kernel, ແລະຫຼາຍ
ພວກມັນຖືກນໍາໃຊ້ເລື້ອຍໆແລະບໍ່ມີຄວາມສົນໃຈຂອງຜູ້ພັດທະນາຫຼາຍໄດ້ຮັບການຈ່າຍໃຫ້ກັບລະຫັດ.
ພື້ນທີ່ຜູ້ໃຊ້ Linux ຊ່ວຍໃຫ້ crackers ທີ່ມີທ່າແຮງໂດຍການກວດພົບປະເພດຂອງລະບົບໄຟລ໌ແລະ
ເລືອກໄດເວີ VFS ທີ່ຖືກຕ້ອງໂດຍອັດຕະໂນມັດ, ເຖິງແມ່ນວ່າປະເພດຂອງລະບົບໄຟລ໌ນັ້ນຈະບໍ່ຄາດຄິດ.
ອັນທີສອງ, ການຂູດຮີດໃນລະດັບແກ່ນແມ່ນຄ້າຍຄືການຂຸດຄົ້ນຮາກທ້ອງຖິ່ນ (ຮ້າຍແຮງກວ່າເກົ່າໃນບາງທາງ), ການໃຫ້.
ການ​ເຂົ້າ​ເຖິງ​ລະ​ບົບ​ໄດ້​ທັນ​ທີ​ທັນ​ໃດ​ແລະ​ທັງ​ຫມົດ​ສິດ​ທິ​ໃນ​ລະ​ດັບ​ຮາດ​ແວ​ໄດ້​.

ການຂຸດຄົ້ນເຫຼົ່ານີ້ສາມາດມີຢູ່ໃນແກ່ນສໍາລັບເວລາດົນນານ
(https://lwn.net/Articles/538898/).

Libguestfs ໃຫ້ວິທີການເປັນຊັ້ນໆເພື່ອປົກປ້ອງທ່ານຈາກການຂູດຮີດ:

ລະບົບໄຟລ໌ທີ່ບໍ່ເຊື່ອຖື
--------------------------------------
ແກ່ນເຄື່ອງ
--------------------------------------
ຂະບວນການ qemu ແລ່ນເປັນທີ່ບໍ່ແມ່ນຮາກ
--------------------------------------
sVirt [ຖ້າໃຊ້ libvirt + SELinux]
--------------------------------------
host kernel

ພວກເຮົາເອີ້ນໃຊ້ Linux kernel ພາຍໃນເຄື່ອງ virtual qemu, ປົກກະຕິແລ້ວແລ່ນເປັນຜູ້ໃຊ້ທີ່ບໍ່ແມ່ນ root.
ຜູ້ໂຈມຕີຈະຕ້ອງຂຽນລະບົບໄຟລ໌ທີ່ທໍາອິດຂຸດຄົ້ນ kernel, ແລະຫຼັງຈາກນັ້ນ
ນຳໃຊ້ເຄຶມິ virtualization (ເຊັ່ນ: ໄດເວີ qemu ທີ່ຜິດພາດ) ຫຼື libguestfs
protocol, ແລະສຸດທ້າຍທີ່ຈະຮ້າຍແຮງເທົ່າທີ່ host kernel exploit ມັນຈໍາເປັນຕ້ອງໄດ້
escalate ສິດທິພິເສດຂອງຕົນໃນການຮາກ. ນອກຈາກນັ້ນຖ້າທ່ານໃຊ້ libvirt back end ແລະ
SELinux, sVirt ຖືກນໍາໃຊ້ເພື່ອຈໍາກັດຂະບວນການ qemu. ນີ້ escalation ຫຼາຍຂັ້ນຕອນ, ປະຕິບັດ
ໂດຍຂໍ້ມູນແບບຄົງທີ່, ຄິດວ່າເປັນເລື່ອງຍາກທີ່ສຸດທີ່ຈະເຮັດ, ເຖິງແມ່ນວ່າພວກເຮົາບໍ່ເຄີຍເວົ້າ
'ບໍ່ເຄີຍ' ກ່ຽວກັບບັນຫາຄວາມປອດໄພ.

ຜູ້ໂທຍັງສາມາດຫຼຸດຜ່ອນພື້ນຜິວການໂຈມຕີໂດຍການບັງຄັບປະເພດຂອງລະບົບໄຟລ໌ໃນເວລາທີ່ຕິດຕັ້ງ
(ໃຊ້ "guestfs_mount_vfs").

ທົ່ວໄປ ຄວາມປອດໄພ ການພິຈາລະນາ
ຈົ່ງລະມັດລະວັງກັບໄຟລ໌ ຫຼືຂໍ້ມູນໃດໆທີ່ທ່ານດາວໂຫຼດຈາກແຂກ (ໂດຍ "ດາວໂຫຼດ" ພວກເຮົາຫມາຍຄວາມວ່າ
ບໍ່ພຽງແຕ່ຄໍາສັ່ງ "guestfs_download" ແຕ່ຄໍາສັ່ງໃດໆທີ່ອ່ານໄຟລ໌, ຊື່ໄຟລ໌,
ໄດເລກະທໍລີຫຼືສິ່ງອື່ນຈາກຮູບພາບແຜ່ນ). ຜູ້ໂຈມຕີສາມາດຈັດການຂໍ້ມູນເພື່ອ
ຫຼອກ​ລວງ​ໂຄງ​ການ​ຂອງ​ທ່ານ​ໃນ​ການ​ເຮັດ​ສິ່ງ​ທີ່​ຜິດ​ພາດ​. ພິຈາລະນາກໍລະນີເຊັ່ນ:

· ຂໍ້​ມູນ (ເອ​ກະ​ສານ​ແລະ​ອື່ນໆ​) ບໍ່​ມີ​

· ມີຢູ່ແຕ່ຫວ່າງເປົ່າ

· ມີຂະຫນາດໃຫຍ່ກວ່າປົກກະຕິ

·ປະກອບດ້ວຍຂໍ້ມູນ 8 ບິດທີ່ມັກ

·ຢູ່ໃນການເຂົ້າລະຫັດຕົວອັກສອນທີ່ບໍ່ຄາດຄິດ

·ປະກອບດ້ວຍ homoglyphs.

ໂປຣແກຣມ PROTOCOL ຄວາມປອດໄພ
ໂປຣໂຕຄໍຖືກອອກແບບໃຫ້ມີຄວາມປອດໄພ, ອີງໃສ່ RFC 4506 (XDR) ທີ່ມີສ່ວນເທິງທີ່ກຳນົດໄວ້.
ຂະ​ຫນາດ​ຂໍ້​ຄວາມ​. ຢ່າງໃດກໍຕາມ, ໂຄງການທີ່ໃຊ້ libguestfs ກໍ່ຕ້ອງດູແລ - ຕົວຢ່າງ
ທ່ານ​ສາ​ມາດ​ຂຽນ​ໂຄງ​ການ​ທີ່​ດາວ​ໂຫລດ​ຖານ​ສອງ​ຈາກ​ຮູບ​ພາບ​ແຜ່ນ​ແລະ​ປະ​ຕິ​ບັດ​ມັນ​ໃນ​ທ້ອງ​ຖິ່ນ​,
ແລະບໍ່ມີຈໍານວນຄວາມປອດໄພຂອງໂປໂຕຄອນຈະຊ່ວຍປະຢັດທ່ານຈາກຜົນສະທ້ອນ.

ການກວດສອບ ຄວາມປອດໄພ
ພາກສ່ວນຂອງ API ການກວດສອບ (ເບິ່ງ "INSPECTION") ສົ່ງຄືນສະຕຣິງທີ່ບໍ່ເຊື່ອຖືໄດ້ໂດຍກົງຈາກ
ແຂກ, ແລະສິ່ງເຫຼົ່ານີ້ສາມາດມີຂໍ້ມູນ 8 ບິດໃດໆ. ຜູ້ໂທຄວນລະວັງເພື່ອຫລົບຫນີເຫຼົ່ານີ້
ກ່ອນທີ່ຈະພິມພວກມັນໃສ່ໄຟລ໌ທີ່ມີໂຄງສ້າງ (ຕົວຢ່າງ, ໃຊ້ HTML escaping ຖ້າສ້າງ a
ຫນ້າ​ເວັບ).

ການກຳນົດຄ່າແຂກອາດຈະຖືກປ່ຽນແປງໃນທາງທີ່ຜິດປົກກະຕິໂດຍຜູ້ເບິ່ງແຍງລະບົບສະເໝືອນ
ເຄື່ອງ, ແລະອາດຈະບໍ່ສະທ້ອນເຖິງຄວາມເປັນຈິງ (ໂດຍສະເພາະສໍາລັບຄວາມບໍ່ໄວ້ວາງໃຈຫຼືເປັນອັນຕະລາຍຢ່າງຈິງຈັງ
ແຂກ). ຕົວຢ່າງ, ພວກເຮົາແຍກຊື່ເຈົ້າພາບຈາກໄຟລ໌ການຕັ້ງຄ່າເຊັ່ນ
/etc/sysconfig/network ທີ່​ພວກ​ເຮົາ​ຊອກ​ຫາ​ຢູ່​ໃນ​ບຸກ​ຄົນ​ທົ່ວ​ໄປ​, ແຕ່​ວ່າ​ຜູ້​ບໍ​ລິ​ຫານ​ແຂກ​ສາ​ມາດ​ໄດ້​ຢ່າງ​ງ່າຍ​ດາຍ​
ຈັດການໄຟລ໌ເຫຼົ່ານີ້ເພື່ອໃຫ້ຊື່ໂຮດທີ່ບໍ່ຖືກຕ້ອງ.

API ການກວດສອບຈະວິເຄາະການຕັ້ງຄ່າແຂກໂດຍໃຊ້ສອງຫ້ອງສະຫມຸດພາຍນອກ: Augeas (Linux
configuration) ແລະ hivex (Windows Registry). ທັງສອງໄດ້ຖືກອອກແບບເພື່ອໃຫ້ມີຄວາມເຂັ້ມແຂງໃນໃບຫນ້າ
ຂອງຂໍ້ມູນທີ່ເປັນອັນຕະລາຍ, ເຖິງແມ່ນວ່າການປະຕິເສດການໂຈມຕີການບໍລິການແມ່ນຍັງເປັນໄປໄດ້, ສໍາລັບການຍົກຕົວຢ່າງ
ໄຟລ໌ການຕັ້ງຄ່າຂະຫນາດໃຫຍ່.

ແລ່ນ ບໍ່ເຊື່ອຖື ສຸດຍອດ ສາມາດ
ລະມັດລະວັງຫຼາຍກ່ຽວກັບການແລ່ນຄໍາສັ່ງຈາກແຂກ. ໂດຍການແລ່ນຄໍາສັ່ງຢູ່ໃນ
ແຂກ, ທ່ານກໍາລັງໃຫ້ເວລາ CPU ກັບຖານສອງທີ່ທ່ານບໍ່ຄວບຄຸມ, ພາຍໃຕ້ຜູ້ໃຊ້ດຽວກັນ
ບັນຊີເປັນຫ້ອງສະຫມຸດ, ເຖິງແມ່ນວ່າຫໍ່ຢູ່ໃນ qemu virtualization. ຂໍ້​ມູນ​ເພີ່ມ​ເຕີມ​ແລະ​
ທາງເລືອກສາມາດພົບໄດ້ໃນພາກ "ຄໍາສັ່ງແລ່ນ".

CVE-2010-3851
https://bugzilla.redhat.com/642934

ຂໍ້ຜິດພາດດ້ານຄວາມປອດໄພນີ້ກ່ຽວຂ້ອງກັບການກວດຫາຮູບແບບແຜ່ນອັດຕະໂນມັດທີ່ qemu ເຮັດຢູ່ໃນແຜ່ນ
ຮູບພາບຕ່າງໆ.

ຮູບພາບແຜ່ນດິບແມ່ນພຽງແຕ່ bytes ດິບ, ບໍ່ມີສ່ວນຫົວ. ຮູບພາບແຜ່ນອື່ນໆເຊັ່ນ qcow2
ມີສ່ວນຫົວພິເສດ. Qemu ຈັດການກັບເລື່ອງນີ້ໂດຍການຊອກຫາຫນຶ່ງໃນຫົວທີ່ຮູ້ຈັກ,
ແລະຖ້າບໍ່ພົບແລ້ວສົມມຸດວ່າຮູບພາບແຜ່ນຈະຕ້ອງເປັນວັດຖຸດິບ.

ອັນນີ້ອະນຸຍາດໃຫ້ແຂກທີ່ໄດ້ຮັບຮູບພາບດິສກ໌ດິບຂຽນສ່ວນຫົວອື່ນໄດ້. ທີ່
boot ຕໍ່ໄປ (ຫຼືເມື່ອຮູບພາບຂອງແຜ່ນຖືກເຂົ້າເຖິງໂດຍ libguestfs) qemu ຈະເຮັດການກວດຫາອັດຕະໂນມັດ.
ແລະຄິດວ່າຮູບແບບຮູບພາບຂອງແຜ່ນແມ່ນ, ເວົ້າ, qcow2 ໂດຍອີງໃສ່ຫົວທີ່ຂຽນໂດຍແຂກ.

ນີ້ຢູ່ໃນຕົວຂອງມັນເອງຈະບໍ່ເປັນບັນຫາ, ແຕ່ qcow2 ສະຫນອງຄຸນນະສົມບັດຫຼາຍ, ຫນຶ່ງໃນນັ້ນແມ່ນເພື່ອ
ອະ​ນຸ​ຍາດ​ໃຫ້​ຮູບ​ພາບ​ແຜ່ນ​ທີ່​ຈະ​ອ້າງ​ເຖິງ​ຮູບ​ພາບ​ອື່ນ (ເອີ້ນ​ວ່າ "ແຜ່ນ​ສໍາ​ຮອງ​ຂໍ້​ມູນ​"​)​. ມັນເຮັດນີ້ໂດຍ
ວາງເສັ້ນທາງໄປຫາແຜ່ນຮອງເຂົ້າໄປໃນສ່ວນຫົວ qcow2. ເສັ້ນທາງນີ້ບໍ່ໄດ້ຖືກກວດສອບ
ແລະສາມາດຊີ້ໄປຫາໄຟລ໌ເຈົ້າພາບໃດໆ (ເຊັ່ນ: "./ etc / passwd") ແຜ່ນຮອງຈະຖືກເປີດເຜີຍ
ຜ່ານ "ຮູ" ໃນຮູບພາບແຜ່ນ qcow2, ເຊິ່ງແນ່ນອນວ່າຢູ່ພາຍໃຕ້ການຄວບຄຸມຢ່າງສົມບູນ
ຂອງ​ຜູ້​ໂຈມ​ຕີ.

ໃນ libguestfs ນີ້ແມ່ນຂ້ອນຂ້າງຍາກທີ່ຈະຂຸດຄົ້ນຍົກເວັ້ນພາຍໃຕ້ສອງສະຖານະການ:

1. ທ່ານໄດ້ເປີດໃຊ້ເຄືອຂ່າຍຫຼືໄດ້ເປີດແຜ່ນຢູ່ໃນຮູບແບບການຂຽນ.

2. ທ່ານກຳລັງໃຊ້ລະຫັດທີ່ບໍ່ເຊື່ອຖືຈາກແຂກ (ເບິ່ງ "ຄຳສັ່ງແລ່ນ").

ວິ​ທີ​ການ​ເພື່ອ​ຫຼີກ​ເວັ້ນ​ການ​ນີ້​ແມ່ນ​ເພື່ອ​ລະ​ບຸ​ຮູບ​ແບບ​ແຜ່ນ​ທີ່​ຄາດ​ວ່າ​ຈະ​ໃນ​ເວ​ລາ​ທີ່​ເພີ່ມ​ແຜ່ນ (the
ທາງເລືອກ "ຮູບແບບ" ທາງເລືອກ "guestfs_add_drive_opts"). ທ່ານສະເຫມີຄວນເຮັດແນວນີ້ຖ້າ
ແຜ່ນແມ່ນຮູບແບບດິບ, ແລະມັນເປັນຄວາມຄິດທີ່ດີສໍາລັບກໍລະນີອື່ນໆເຊັ່ນກັນ. (ເບິ່ງ "DISK IMAGE
FORMATS").

ສໍາລັບແຜ່ນທີ່ເພີ່ມຈາກ libvirt ໂດຍໃຊ້ການໂທເຊັ່ນ "guestfs_add_domain", ຮູບແບບຈະຖືກດຶງມາ.
ຈາກ libvirt ແລະຜ່ານ.

ສໍາລັບເຄື່ອງມື libguestfs, ໃຊ້ -- ຮູບແບບ ຕົວກໍານົດການເສັ້ນຄໍາສັ່ງຕາມຄວາມເຫມາະສົມ.

CVE-2011-4127
https://bugzilla.redhat.com/752375

ນີ້ແມ່ນຂໍ້ຜິດພາດໃນ kernel ທີ່ອະນຸຍາດໃຫ້ແຂກສາມາດຂຽນທັບບາງສ່ວນຂອງ drives ຂອງເຈົ້າພາບ.
ຊຶ່ງປົກກະຕິແລ້ວພວກເຂົາບໍ່ຄວນມີການເຂົ້າເຖິງ.

ມັນພຽງພໍທີ່ຈະປັບປຸງ libguestfs ໃຫ້ກັບທຸກລຸ້ນ ≥ 1.16 ເຊິ່ງປະກອບດ້ວຍການປ່ຽນແປງນັ້ນ
ຫຼຸດຜ່ອນບັນຫາ.

CVE-2012-2690
https://bugzilla.redhat.com/831117

ສະບັບເກົ່າຂອງທັງ virt-edit ແລະຄໍາສັ່ງ guestfish "ແກ້ໄຂ" ສ້າງໄຟລ໌ໃຫມ່
ມີ​ການ​ປ່ຽນ​ແປງ​ແຕ່​ບໍ່​ໄດ້​ກໍາ​ນົດ​ການ​ອະ​ນຸ​ຍາດ​, ແລະ​ອື່ນໆ​ຂອງ​ໄຟລ​໌​ໃຫມ່​ທີ່​ຈະ​ກົງ​ກັບ​
ເກົ່າ. ຜົນໄດ້ຮັບຂອງການນີ້ແມ່ນວ່າຖ້າຫາກວ່າທ່ານແກ້ໄຂໄຟລ໌ທີ່ລະອຽດອ່ອນຄວາມປອດໄພເຊັ່ນ:
/ etc / ເງົາ ຫຼັງ​ຈາກ​ນັ້ນ​ມັນ​ຈະ​ຖືກ​ປະ​ໄວ້​ໃນ​ໂລກ​ທີ່​ສາ​ມາດ​ອ່ານ​ໄດ້​ຫຼັງ​ຈາກ​ການ​ແກ້​ໄຂ​.

ມັນພຽງພໍທີ່ຈະອັບເດດ libguestfs ໃຫ້ກັບທຸກລຸ້ນ ≥ 1.16.

CVE-2013-2124
https://bugzilla.redhat.com/968306

ຂໍ້ຜິດພາດດ້ານຄວາມປອດໄພນີ້ແມ່ນຂໍ້ບົກພ່ອງໃນການກວດສອບບ່ອນທີ່ແຂກທີ່ບໍ່ເຊື່ອຖືໄດ້ໃຊ້ພິເສດ
ໄຟລ໌ຫັດຖະກໍາໃນ OS ແຂກສາມາດເຮັດໃຫ້ເກີດການຫວ່າງສອງເທົ່າໃນຫ້ອງສະຫມຸດ C (ປະຕິເສດ
ບໍລິການ).

ມັນພຽງພໍທີ່ຈະອັບເດດ libguestfs ເປັນເວີຊັນທີ່ບໍ່ມີຄວາມສ່ຽງ: libguestfs ≥
1.20.8, ≥ 1.22.2 ຫຼື ≥ 1.23.2.

CVE-2013-4419
https://bugzilla.redhat.com/1016960

ເມື່ອ ນຳ ໃຊ້ ປາແຂກ(1​) --ໄລຍະໄກ ຫຼືປາແຂກ --ຟັງ ທາງ​ເລືອກ​, guestfish ຈະ​ສ້າງ​
ເຕົ້າຮັບໃນສະຖານທີ່ທີ່ຮູ້ຈັກ (/tmp/.guestfish-$UID/socket-$PID).

ສະຖານທີ່ຕ້ອງເປັນທີ່ຮູ້ຈັກເພື່ອໃຫ້ທັງສອງຝ່າຍຕິດຕໍ່ກັນ. ແນວໃດກໍ່ຕາມບໍ່
ການ​ກວດ​ສອບ​ໄດ້​ເຮັດ​ໄດ້​ວ່າ​ບັນ​ຊີ​ລາຍ​ການ​ທີ່​ມີ (/tmp/.guestfish-$UID) ເປັນ​ເຈົ້າ​ຂອງ​ໂດຍ​
ຜູ້ໃຊ້. ດັ່ງນັ້ນ, ຜູ້ໃຊ້ອື່ນສາມາດສ້າງໄດເລກະທໍລີນີ້ແລະອາດຈະຖືກ hijack sockets ເປັນເຈົ້າຂອງ
ໂດຍລູກຄ້າຂອງ guestfish ຫຼືເຊີບເວີຂອງຜູ້ໃຊ້ອື່ນ.

ມັນພຽງພໍທີ່ຈະອັບເດດ libguestfs ເປັນເວີຊັນທີ່ບໍ່ມີຄວາມສ່ຽງ: libguestfs ≥
1.20.12, ≥ 1.22.7 ຫຼື ≥ 1.24.

Denial of ການບໍລິການ ໃນເວລາທີ່ ການກວດກາ ແຜ່ນ ຮູບພາບ ກັບ ເສຍຫາຍ btrfs volumes
ມັນເປັນໄປໄດ້ທີ່ຈະ crash libguestfs (ແລະໂຄງການທີ່ໃຊ້ libguestfs ເປັນຫ້ອງສະຫມຸດ) ໂດຍ
ນໍາສະເຫນີຮູບພາບແຜ່ນທີ່ມີປະລິມານ btrfs ເສຍຫາຍ.

ອັນນີ້ເກີດມາຈາກການປະຕິເສດຕົວຊີ້ NULL ທີ່ເຮັດໃຫ້ເກີດການປະຕິເສດການບໍລິການ, ແລະບໍ່ແມ່ນ
ຄິດ​ວ່າ​ຈະ​ເປັນ​ການ​ຂູດ​ຮີດ​ອີກ​ຕໍ່​ໄປ.

ເບິ່ງຄໍາຫມັ້ນສັນຍາ d70ceb4cbea165c960710576efac5a5716055486 ສໍາລັບການແກ້ໄຂ. ການແກ້ໄຂນີ້ແມ່ນລວມຢູ່ໃນ
libguestfs ສາຂາທີ່ຫມັ້ນຄົງ ≥ 1.26.0, ≥ 1.24.6 ແລະ ≥ 1.22.8, ແລະຍັງຢູ່ໃນ RHEL ≥ 7.0.
ເວີຊັນກ່ອນໜ້າຂອງ libguestfs ບໍ່ມີຄວາມສ່ຽງ.

CVE-2014-0191
Libguestfs ກ່ອນໜ້ານີ້ໃຊ້ APIs libxml2 ທີ່ບໍ່ປອດໄພສຳລັບການວິເຄາະ libvirt XML. APIs ເຫຼົ່ານີ້
ເປັນຄ່າເລີ່ມຕົ້ນທີ່ຈະອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ເຄືອຂ່າຍເມື່ອເອກະສານ XML ສະເພາະ
ນໍາ​ສະ​ເຫນີ​. ການ​ນໍາ​ໃຊ້​ເອ​ກະ​ສານ XML ຜິດ​ປົກ​ກະ​ຕິ​ມັນ​ຍັງ​ເປັນ​ໄປ​ໄດ້​ທີ່​ຈະ​ຫມົດ CPU​, ຫນ່ວຍ​ຄວາມ​ຈໍາ​ທັງ​ຫມົດ​
ຫຼືໄຟລ໌ຄໍາອະທິບາຍຢູ່ໃນເຄື່ອງ.

ເນື່ອງຈາກ libvirt XML ມາຈາກແຫຼ່ງທີ່ເຊື່ອຖືໄດ້ (libvirt daemon) ມັນບໍ່ໄດ້ຖືກຄິດ.
ວ່ານີ້ສາມາດຖືກຂູດຮີດ.

ອັນນີ້ຖືກແກ້ໄຂໃນ libguestfs ≥ 1.27.9 ແລະການແກ້ໄຂໄດ້ຖືກສົ່ງກັບຄືນສູ່ເວີຊັນທີ່ໝັ້ນຄົງ≥
1.26.2, ≥ 1.24.9, ≥ 1.22.10 ແລະ ≥ 1.20.13.

Shellshock (ບາດ CVE-2014-6271)
ບັກ bash ນີ້ສົ່ງຜົນກະທົບຕໍ່ libguestfs ໂດຍທາງອ້ອມ. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມເບິ່ງ:
https://www.redhat.com/archives/libguestfs/2014-September/msg00252.html

CVE-2014-8484
CVE-2014-8485
ສອງແມງໄມ້ເຫຼົ່ານີ້ຢູ່ໃນ binutils ມີຜົນກະທົບຕໍ່ GNU strings(1) ໂຄງການ, ແລະດັ່ງນັ້ນ
"guestfs_strings" ແລະ "guestfs_strings_e" APIs ໃນ libguestfs. ແລ່ນສາຍຢູ່ໃນ
ໄຟລ໌ທີ່ບໍ່ເຊື່ອຖືສາມາດເຮັດໃຫ້ເກີດການປະຕິບັດລະຫັດທີ່ຕົນເອງມັກ (ຖືກຈຳກັດຢູ່ໃນ libguestfs.
ເຄື່ອງ​ໃຊ້).

ໃນ libguestfs ≥ 1.29.5 ແລະ ≥ 1.28.3, libguestfs ໃຊ້ "strings" -a ທາງເລືອກທີ່ຈະຫຼີກເວັ້ນ BFD
paring ໃນ​ໄຟລ​໌​.

CVE-2015-5745
https://bugzilla.redhat.com/show_bug.cgi?id=1251157

ນີ້ບໍ່ແມ່ນຈຸດອ່ອນໃນ libguestfs, ແຕ່ຍ້ອນວ່າພວກເຮົາໃຫ້ພອດ virtio-serial ສະເໝີ.
ຕໍ່ກັບແຂກແຕ່ລະຄົນ (ນັບຕັ້ງແຕ່ນັ້ນແມ່ນວິທີການສື່ສານຂອງແຂກ-ເຈົ້າພາບເກີດຂຶ້ນ), escalation ຈາກ
ເຄື່ອງໃຊ້ໃນຂະບວນການ qemu ເຈົ້າພາບແມ່ນເປັນໄປໄດ້. ອັນນີ້ອາດຈະສົ່ງຜົນກະທົບຕໍ່ເຈົ້າຖ້າ:

·ໂຄງການ libguestfs ຂອງທ່ານແລ່ນໂຄງການທີ່ບໍ່ເຊື່ອຖືອອກຈາກແຂກ (ໂດຍໃຊ້ "guestfs_sh"
ແລະອື່ນໆ), ຫຼື

· ການຂູດຮີດອື່ນໄດ້ຖືກພົບເຫັນຢູ່ໃນ (ຕົວຢ່າງ) ລະຫັດລະບົບໄຟລ໌ kernel ທີ່ອະນຸຍາດໃຫ້ a
ລະບົບໄຟລ໌ທີ່ບໍ່ຖືກຕ້ອງເພື່ອຄອບຄອງເຄື່ອງໃຊ້.

ຖ້າທ່ານໃຊ້ sVirt ເພື່ອກັກຂັງ qemu, ມັນຈະຂັດຂວາງການໂຈມຕີບາງຢ່າງ.

Permissions of .ssh ແລະ .ssh/authorized_keys
https://bugzilla.redhat.com/1260778

ເຄື່ອງມືດັ່ງກ່າວ virt-ປັບແຕ່ງ(1) virt-sysprep(1) ແລະ ຜູ້ສ້າງ virt(1) ມີ --ssh-inject
ທາງ​ເລືອກ​ສໍາ​ລັບ​ການ​ສັກ​ກະ​ແຈ SSH ເຂົ້າ​ໄປ​ໃນ​ຮູບ​ພາບ​ແຜ່ນ virtual machine​. ພວກເຂົາເຈົ້າອາດຈະສ້າງເປັນ
~user/.ssh ໄດເລກະທໍລີແລະ ~user/.ssh/authorized_keys ຍື່ນໃນແຂກເພື່ອເຮັດສິ່ງນີ້.

ໃນ libguestfs < 1.31.5 ແລະ libguestfs < 1.30.2, ໄດເຣັກທໍຣີ ແລະໄຟລ໌ໃໝ່ຈະໄດ້ຮັບໂໝດ.
0755 ແລະຮູບແບບ 0644 ຕາມລໍາດັບ. ແນວໃດກໍ່ຕາມການອະນຸຍາດເຫຼົ່ານີ້ (ໂດຍສະເພາະສໍາລັບ ~user/.ssh)
ແມ່ນກວ້າງກວ່າການອະນຸຍາດທີ່ OpenSSH ໃຊ້. ໃນ libguestfs ປະຈຸບັນ, ໄດເລກະທໍລີ
ແລະໄຟລ໌ຖືກສ້າງຂື້ນດ້ວຍໂຫມດ 0700 ແລະໂຫມດ 0600.

ໃຊ້ guestfs-security ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net



ລ່າສຸດ Linux ແລະ Windows ໂຄງການອອນໄລນ໌