Linux เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชจเชฌเชณเชพเชˆ เช•เซ‡ เชœเซ‡ เชซเช•เซเชค เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชฆเซ‚เชทเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡

Linux เช•เชฐเซเชจเชฒ (CVE-2022-0847) เชฎเชพเช‚ เชเช• เชจเชฌเชณเชพเชˆ เช“เชณเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ เชœเซ‡ เช•เซ‹เชˆเชชเชฃ เชซเชพเชˆเชฒเซ‹ เชฎเชพเชŸเซ‡ เชชเซ‡เชœ เช•เซ‡เชถเชจเชพ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹เชจเซ‡ เช“เชตเชฐเชฐเชพเชˆเชŸ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชซเช•เซเชค เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชฎเซ‹เชกเชฎเชพเช‚, O_RDONLY เชซเซเชฒเซ‡เช— เชธเชพเชฅเซ‡ เช–เซ‹เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเซ€ เช…เชฅเชตเชพ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ เชชเชฐ เชธเซเชฅเชฟเชค เชนเซ‹เชฏ เช›เซ‡. เชซเช•เซเชค-เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชฎเซ‹เชกเชฎเชพเช‚ เชฎเชพเช‰เชจเซเชŸ เชฅเชฏเซ‡เชฒ เช›เซ‡. เชตเซเชฏเชตเชนเชพเชฐเชฟเช• เชฆเซเชฐเชทเซเชŸเชฟเช, เชจเชฌเชณเชพเชˆเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฎเชจเชธเซเชตเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชฎเชพเช‚ เช•เซ‹เชก เชฆเชพเช–เชฒ เช•เชฐเชตเชพ เช…เชฅเชตเชพ เช–เซเชฒเซ‡เชฒเซ€ เชซเชพเชˆเชฒเซ‹เชฎเชพเช‚ เชฆเซ‚เชทเชฟเชค เชกเซ‡เชŸเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ sshd เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฎเชพเชŸเซ‡ เช…เชงเชฟเช•เซƒเชค_เช•เซ€ เชซเชพเช‡เชฒเชจเชพ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹เชจเซ‡ เชฌเชฆเชฒเซ€ เชถเช•เซ‹ เช›เซ‹. เชถเซ‹เชทเชฃเชจเซ‹ เชชเซเชฐเซ‹เชŸเซ‹เชŸเชพเช‡เชช เชชเชฐเซ€เช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡.

เชธเชฎเชธเซเชฏเชพเชจเซเช‚ เช•เซ‹เชกเชจเซ‡เชฎ เชกเชฐเซเชŸเซ€ เชชเชพเช‡เชช เชฐเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ 2016เชฎเชพเช‚ เช“เชณเช–เชพเชฏเซ‡เชฒเซ€ เช—เช‚เชญเซ€เชฐ เชจเชฌเชณเชพเชˆ เชกเชฐเซเชŸเซ€ COW เชœเซ‡เชตเซ€ เชœ เช›เซ‡. เช เชจเซ‹เช‚เชงเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชญเชฏเชจเชพ เชธเซเชคเชฐเชจเซ€ เชฆเซเชฐเชทเซเชŸเชฟเช, เชกเชฐเซเชŸเซ€ เชชเชพเช‡เชช เชกเชฐเซเชŸเซ€ COW เชœเซ‡เชตเชพ เชœ เชธเซเชคเชฐ เชชเชฐ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชธเชฐเชณ เช›เซ‡. เชฒเซ‹เช— เชธเชฐเซเชตเชฐเชฎเชพเช‚เชฅเซ€ เชธเช‚เช•เซเชšเชฟเชค เช†เชฐเซเช•เชพเช‡เชตเซเชธ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชคเซ€ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‡เชฒเซ€ เชซเชพเช‡เชฒเซ‹เชจเชพ เชธเชพเชฎเชฏเชฟเช• เชญเซเชฐเชทเซเชŸเชพเชšเชพเชฐ เชตเชฟเชถเซ‡เชจเซ€ เชซเชฐเชฟเชฏเชพเชฆเซ‹เชจเชพ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชจเชฌเชณเชพเชˆ เช“เชณเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ (เชฒเซ‹เชก เช•เชฐเซ‡เชฒเซ€ เชธเชฟเชธเซเชŸเชฎ เชชเชฐ 37 เชฎเชนเชฟเชจเชพเชฎเชพเช‚ 3 เชญเซเชฐเชทเซเชŸเชพเชšเชพเชฐ), เชœเซ‡เชจเซ€ เชคเซˆเชฏเชพเชฐเซ€เชฎเชพเช‚ เชธเซเชชเซเชฒเชฟเชธ() เช“เชชเชฐเซ‡เชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เช…เชจเซ‡ เช…เชจเชพเชฎเซ€ เชชเชพเชˆเชชเซ‹.

เชฒเชฟเชจเช•เซเชธ เช•เชฐเซเชจเชฒ 5.8 เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซ€เชจเซ‡ เชจเชฌเชณเชพเชˆ เชฆเซ‡เช–เชพเชฏ เช›เซ‡, เชœเซ‡ เช“เช—เชธเซเชŸ 2020 เชฎเชพเช‚ เชฐเชฟเชฒเซ€เช เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€, เชเชŸเชฒเซ‡ เช•เซ‡. เชกเซ‡เชฌเชฟเชฏเชจ 11 เชฎเชพเช‚ เชนเชพเชœเชฐ เช›เซ‡, เชชเชฐเช‚เชคเซ เช‰เชฌเซเชจเซเชŸเซ 20.04 LTS เชฎเชพเช‚ เชฌเซ‡เช เช•เชฐเซเชจเชฒเชจเซ‡ เช…เชธเชฐ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. RHEL 8.x เช…เชจเซ‡ openSUSE/SUSE 15 เช•เชฐเซเชจเชฒ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เชœเซ‚เชจเซ€ เชถเชพเช–เชพเช“ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชนเซ‹เชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชถเช•เซเชฏ เช›เซ‡ เช•เซ‡ เชธเชฎเชธเซเชฏเชพเชจเซเช‚ เช•เชพเชฐเชฃ เชฌเชจเซ‡เชฒเซ‹ เชซเซ‡เชฐเชซเชพเชฐ เชคเซ‡เชฎเชพเช‚ เชฌเซ‡เช•เชชเซ‹เชฐเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเซ‹เชฏ (เชนเชœเซ€ เชธเซเชงเซ€ เช•เซ‹เชˆ เชšเซ‹เช•เซเช•เชธ เชกเซ‡เชŸเชพ เชจเชฅเซ€). เชคเชฎเซ‡ เช† เชชเซƒเชทเซเช เซ‹ เชชเชฐ เชตเชฟเชคเชฐเชฃเซ‹เชฎเชพเช‚ เชชเซ‡เช•เซ‡เชœ เช…เชชเชกเซ‡เชŸเซเชธเชจเชพ เชชเซเชฐเช•เชพเชถเชจเชจเซ‡ เชŸเซเชฐเซ…เช• เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹: เชกเซ‡เชฌเชฟเชฏเชจ, SUSE, เช‰เชฌเซเชจเซเชŸเซ, RHEL, Fedora, Gentoo, Arch Linux. เชฐเซ€เชฒเซ€เช 5.16.11, 5.15.25 เช…เชจเซ‡ 5.10.102 เชฎเชพเช‚ เชจเชฌเชณเชพเชˆ เชฎเชพเชŸเซ‡เชจเชพ เชธเซเชงเชพเชฐเชพเชจเซ€ เชฆเชฐเช–เชพเชธเซเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. เชเชจเซเชกเซเชฐเซ‹เช‡เชก เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชซเชฟเช•เซเชธ เชชเชฃ เชธเชพเชฎเซ‡เชฒ เช›เซ‡.

เชตเชฟเชงเซ‡เชฏเซ‹ copy_page_to_iter_pipe() เช…เชจเซ‡ push_pipe() เชจเชพ เช•เซ‹เชกเชฎเชพเช‚ "buf-> เชซเซเชฒเซ‡เช—เซเชธ" เชฎเซ‚เชฒเซเชฏเชจเชพ เชชเซเชฐเชพเชฐเช‚เชญเชจเชพ เช…เชญเชพเชตเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชจเชฌเชณเชพเชˆ เชธเชฐเซเชœเชพเชฏ เช›เซ‡, เชคเซ‡ เชนเช•เซ€เช•เชค เชนเซ‹เชตเชพ เช›เชคเชพเช‚ เช•เซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเชณเชตเชคเซ€ เชตเช–เชคเซ‡ เช…เชจเซ‡ เชšเซ‹เช•เซเช•เชธ เชฎเซ‡เชจเชฟเชชเซเชฏเซเชฒเซ‡เชถเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฎเซ‡เชฎเชฐเซ€ เชธเชพเชซ เชฅเชคเซ€ เชจเชฅเซ€. เช…เชจเชพเชฎเซ€ เชชเชพเชˆเชชเซ‹, เช…เชจเซเชฏ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซเช‚ เชฎเซ‚เชฒเซเชฏ. เช† เชธเซเชตเชฟเชงเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชเช• เชฌเชฟเชจเช…เชงเชฟเช•เซƒเชค เชธเซเชฅเชพเชจเชฟเช• เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชซเซเชฒเซ‡เช—เชฎเชพเช‚ PIPE_BUF_FLAG_CAN_MERGE เชฎเซ‚เชฒเซเชฏเชจเซ‹ เชฆเซ‡เช–เชพเชต เชนเชพเช‚เชธเชฒ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เชฐเซ€เชคเซ‡ เชคเซˆเชฏเชพเชฐ เช•เชฐเชพเชฏเซ‡เชฒ เช…เชจเชพเชฎเซ€ เชชเชพเช‡เชช เชชเชฐ เชจเชตเซ‹ เชกเซ‡เชŸเชพ เชฒเช–เซ€เชจเซ‡ เชชเซƒเชทเซเช  เช•เซ‡เชถเชฎเชพเช‚ เชกเซ‡เชŸเชพ เช“เชตเชฐเชฐเชพเช‡เชŸเชฟเช‚เช—เชจเซ‡ เช—เซ‹เช เชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชนเซเชฎเชฒเชพ เชฎเชพเชŸเซ‡, เชŸเชพเชฐเซเช—เซ‡เชŸ เชซเชพเชˆเชฒ เชตเชพเช‚เชšเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซ€ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช, เช…เชจเซ‡ เชชเชพเชˆเชช เชชเชฐ เชฒเช–เชคเซ€ เชตเช–เชคเซ‡ เชเช•เซเชธเซ‡เชธ เชฐเชพเชˆเชŸเซเชธ เชšเช•เชพเชธเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ เชจ เชนเซ‹เชตเชพเชฅเซ€, เชชเซ‡เชœ เช•เซ‡เชถเชฎเชพเช‚ เชซเซ‡เชฐเชฌเชฆเชฒเซ€ เชซเช•เซเชค เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡ เชฎเชพเช‰เชจเซเชŸ เชฅเชฏเซ‡เชฒ เชชเชพเชฐเซเชŸเซ€เชถเชจเซ‹เชฎเชพเช‚ เชธเซเชฅเชฟเชค เชซเชพเชˆเชฒเซ‹ เชฎเชพเชŸเซ‡ เชชเชฃ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชซเชพเชˆเชฒเซ‹ c CD- เชฐเซ‹เชฎ). เชชเซƒเชทเซเช  เช•เซ‡เชถเชฎเชพเช‚ เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชฌเชฆเชฒเซเชฏเชพ เชชเช›เซ€, เชซเชพเช‡เชฒเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชตเชพเช‚เชšเชคเซ€ เชตเช–เชคเซ‡, เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชตเชพเชธเซเชคเชตเชฟเช• เชกเซ‡เชŸเชพ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชฌเชฆเชฒเชพเชฏเซ‡เชฒ เชกเซ‡เชŸเชพ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชถเซ‡.

PIPE_BUF_FLAG_CAN_MERGE เชงเซเชตเชœ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒเชพ เชคเชฎเชพเชฎ เชฐเชฟเช‚เช— เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชฎเชพเช‚ เชธเซ‡เชŸ เช›เซ‡ เชคเซ‡เชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช“เชชเชฐเซ‡เชถเชจ เชเช• เช…เชจเชพเชฎเซ€ เชšเซ‡เชจเชฒ เชฌเชจเชพเชตเชตเชพ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชฎเชจเชธเซเชตเซ€ เชกเซ‡เชŸเชพเชฅเซ€ เชญเชฐเชตเชพเชจเซเช‚ เชฅเชพเชฏ เช›เซ‡. เช†เช—เชณ, เชšเซ…เชจเชฒเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชตเชพเช‚เชšเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชชเชพเช‡เชช_เช‡เชจเซ‹เชก_เช‡เชจเซเชซเซ‹ เชฐเชฟเช‚เช— เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชฎเชพเช‚ เชชเชพเช‡เชช_เชฌเชซเชฐ เชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเชพ เชคเชฎเชพเชฎ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชฎเชพเช‚ เชซเซเชฒเซ‡เช— เชธเซ‡เชŸ เชฐเชนเซ‡ เช›เซ‡. เชŸเชพเชฐเซเช—เซ‡เชŸ เชซเชพเช‡เชฒเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพเชจเซ‡ เชจเชพเชฎ เชตเช—เชฐเชจเชพ เชชเชพเชˆเชชเชฎเชพเช‚ เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡ เชธเซเชชเซเชฒเชพเชˆเชธ() เชชเชฐ เช•เซ‹เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เชˆเชšเซเช›เชฟเชค เช“เชซเชธเซ‡เชŸเชฅเซ€ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡. เช† เช…เชจเชพเชฎเซ€ เชชเชพเช‡เชช เชชเชฐ เชกเซ‡เชŸเชพ เชฒเช–เชคเซ€ เชตเช–เชคเซ‡, PIPE_BUF_FLAG_CAN_MERGE เชซเซเชฒเซ‡เช— เชธเซ‡เชŸ เชฅเชตเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡, เชชเชพเช‡เชช_เชฌเชซเชฐ เชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเซ‹ เชจเชตเซ‹ เชฆเชพเช–เชฒเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชชเซƒเชทเซเช  เช•เซ‡เชถเชฎเชพเช‚เชจเซ‹ เชกเซ‡เชŸเชพ เช“เชตเชฐเชฐเชพเช‡เชŸ เชฅเชˆ เชœเชถเซ‡.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹