เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบ iSCSI เบ‚เบญเบ‡ Linux kernel เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป„เบ”เป‰.

เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆ (CVE-2021-27365) เป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบฅเบฐเบซเบฑเบ”เบฅเบฐเบšเบปเบšเบเปˆเบญเบ iSCSI เบ‚เบญเบ‡ kernel Linux เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบš kernel เปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบšเบชเบดเบ”เบ—เบดเบ‚เบญเบ‡เบฎเบฒเบเปƒเบ™เบฅเบฐเบšเบปเบš. เบ•เบปเป‰เบ™เปเบšเบšเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบเบฒเบ™เบ‚เบธเบ”เบ„เบปเป‰เบ™เปเบกเปˆเบ™เบกเบตเปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš. เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ Linux kernel 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 เปเบฅเบฐ 4.4.260. เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เปเบžเบฑเบเป€เบเบ” Kernel เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปƒเบ™ Debian, Ubuntu, SUSE/openSUSE, Arch Linux, เปเบฅเบฐ Fedora distributions. เบเบฒเบ™เปเบเป‰เป„เบ‚ RHEL เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เป€เบœเบตเบ.

เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เป€เบเบตเบ”เบกเบฒเบˆเบฒเบเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™ iscsi_host_get_param() เบˆเบฒเบเป‚เบกเบ”เบนเบ™ libiscsi, เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™เบ›เบต 2006 เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฅเบฐเบšเบปเบšเบเปˆเบญเบ iSCSI. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ‚เบฒเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก, เบšเบฒเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบชเบฐเบ•เบฃเบดเบ‡ iSCSI, เป€เบŠเบฑเปˆเบ™: เบŠเบทเปˆเป€เบˆเบปเป‰เบฒเบžเบฒเบš เบซเบผเบทเบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰, เบญเบฒเบ”เบˆเบฐเป€เบเบตเบ™เบ„เปˆเบฒ PAGE_SIZE (4 KB). เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ‚เบนเบ”เบฎเบตเบ”เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบชเบดเบ”เบ—เบดเปƒเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบก Netlink เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐ iSCSI เปƒเบซเป‰เบเบฑเบšเบ„เปˆเบฒเบ—เบตเปˆเปƒเบซเบเปˆเบเบงเปˆเบฒ PAGE_SIZE. เป€เบกเบทเปˆเบญเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ–เบทเบเบญเปˆเบฒเบ™เบœเปˆเบฒเบ™ sysfs เบซเบผเบท seqfs, เบฅเบฐเบซเบฑเบ”เป€เบญเบตเป‰เบ™เบงเปˆเบฒเบ—เบตเปˆเบชเบปเปˆเบ‡เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเปƒเบซเป‰เบเบฑเบšเบŸเบฑเบ‡เบŠเบฑเบ™ sprintf เป€เบžเบทเปˆเบญเบ„เบฑเบ”เบฅเบญเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ buffer เบ—เบตเปˆเบกเบตเบ‚เบฐเบซเบ™เบฒเบ” PAGE_SIZE.

เบเบฒเบ™เบ‚เบนเบ”เบฎเบตเบ”เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป‚เบซเบผเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™ kernel scsi_transport_iscsi เป€เบกเบทเปˆเบญเบžเบฐเบเบฒเบเบฒเบกเบชเป‰เบฒเบ‡เบŠเบฑเบญเบเป€เบเบฑเบ” NETLINK_ISCSI. เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเบ—เบตเปˆเป‚เบกเบ”เบนเบ™เบ™เบตเป‰เบ–เบทเบเป‚เบซเบฅเบ”เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”, เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡ iSCSI. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ‚เบธเบ”เบ„เบปเป‰เบ™, เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡เบเบฒเบ™เบ‚เบปเบ™เบชเบปเปˆเบ‡ iSCSI เปเบกเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป‚เบกเบ”เบนเบ™ kernel ib_iser, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเป‚เบซเบฅเบ”เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป€เบกเบทเปˆเบญเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบšเปเปˆเบกเบตเบชเบดเบ”เบ—เบดเบžเบฐเบเบฒเบเบฒเบกเบชเป‰เบฒเบ‡เบŠเบฑเบญเบเป€เบเบฑเบ” NETLINK_RDMA, เป€เบžเบทเปˆเบญเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบเบฒเบ™เบ‚เบปเบ™เบชเบปเปˆเบ‡.

เบเบฒเบ™เป‚เบซเบผเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ‚เบธเบ”เบ„เบปเป‰เบ™เปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปƒเบ™ CentOS 8, RHEL 8 เปเบฅเบฐ Fedora เป€เบกเบทเปˆเบญเบŠเบธเบ” rdma-core เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบเบฒเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบšเบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบ™เบดเบเบปเบกเปเบฅเบฐเบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบšเปˆเบญเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เบฅเบฐเบšเบปเบšเป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเบกเบต GUI เปเบฅเบฐ virtualization เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป€เบˆเบปเป‰เบฒเบžเบฒเบš. เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, rdma-core เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป€เบกเบทเปˆเบญเปƒเบŠเป‰เบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เป‚เบซเบกเบ” console เปเบฅเบฐเป€เบกเบทเปˆเบญเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบฎเบนเบšเบžเบฒเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบŠเบธเบ”เปเบกเปˆเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ Fedora 31 Workstation, เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เบฅเบงเบกเบขเบนเปˆเปƒเบ™ Fedora 31 Server. Debian เปเบฅเบฐ Ubuntu เป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบšเบซเบ™เป‰เบญเบ, เบเป‰เบญเบ™เบงเปˆเบฒเบŠเบธเบ” rdma-core เบžเบฝเบ‡เปเบ•เปˆเป‚เบซเบฅเบ”เป‚เบกเบ”เบนเบ™ kernel เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ–เป‰เบฒเบฎเบฒเบ”เปเบง RDMA.

เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบ iSCSI เบ‚เบญเบ‡ Linux kernel เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป„เบ”เป‰.

เปƒเบ™เบ–เบฒเบ™เบฐเป€เบ›เบฑเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบดเบ”เบเบฒเบ™เป‚เบซเบผเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™ libiscsi: echo "เบ•เบดเบ”เบ•เบฑเป‰เบ‡ libiscsi /bin/true" >> /etc/modprobe.d/disable-libiscsi.conf

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบชเบญเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบซเบ™เป‰เบญเบเบเบงเปˆเบฒเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบ iSCSI เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบฎเบปเปˆเบงเป„เบซเบฅเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเปเบเปˆเบ™: CVE-2021-27363 (เบเบฒเบ™เบฎเบปเปˆเบงเป„เบซเบฅเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เบ‚เบปเบ™เบชเบปเปˆเบ‡ iSCSI เบœเปˆเบฒเบ™ sysfs) เปเบฅเบฐ CVE-2021-27364 (เบญเปˆเบฒเบ™เบˆเบฒเบ เบžเบทเป‰เบ™เบ—เบตเปˆ buffer เบขเบนเปˆเบ™เบญเบเบ‚เบญเบšเป€เบ‚เบ”). เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เปเปˆเบชเบทเปˆเบชเบฒเบ™เบœเปˆเบฒเบ™เบŠเปˆเบญเบ‡เบชเบฝเบš netlink เบเบฑเบšเบฅเบฐเบšเบปเบšเบเปˆเบญเบ iSCSI เป‚เบ”เบเบšเปเปˆเบกเบตเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบšเปเปˆเบกเบตเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš iSCSI เปเบฅเบฐเบชเบปเปˆเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ "เบชเบดเป‰เบ™เบชเบธเบ”เบเบญเบ‡เบ›เบฐเบŠเบธเบก" เป€เบžเบทเปˆเบญเบขเบธเบ”เป€เบŠเบ”เบŠเบฑเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™