ื ืืืึทืื ืขืจืึทืืืืืื ืืื ืืืืขื ืึทืคืืื ืืื ืื ืืื ืืงืก ืงืขืจื (CVE-2022-0847) ืืืึธืก ืึทืืึทืื ืื ืืื ืืึทืื ืคืื ืื ืืืึทื ืงืึทืฉ ืฆื ืืืื ืึธืืืืขืจืจืืืึทื ืคึฟืึทืจ ืงืืื ืืขืงืขืก, ืึทืจืืึทื ืืขืจืขืื ื ืืขื ืข ืืื ืืืืขื ืขื-ืืืืื ืืึธืืข, ืืขืขืคื ื ืืื ืื O_RDONLY ืคืึธื, ืึธืืขืจ ืืืื ืืืืฃ ืืขืงืข ืกืืกืืขืืขื. ืืึธืื ืืขื ืืื ืืืืขื ืขื-ืืืืื ืืึธืืข. ืืื ืคึผืจืึทืงืืืฉ ืืขืจืืื ืขื, ืื ืืืึทืื ืขืจืึทืืืืืื ืงืขื ืืืื ืืขื ืืฆื ืฆื ืึทืจืืึทื ืฉืคึผืจืืฆื ืงืึธื ืืื ืึทืจืืืืจืึทืจืืฉ ืคึผืจืึทืกืขืกืึทื ืึธืืขืจ ืคืึทืจืืึธืจืื ืืึทืื ืืื ืืขืขืคื ื ืืขืงืขืก. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืงืขื ืขื ืืืืฉื ืื ืืื ืืึทืื ืคืื ืื Authorized_keys ืืขืงืข ืคึฟืึทืจ ืื sshd ืคึผืจืึธืฆืขืก. ื ืคึผืจืึธืืืึทืืืืคึผ ืคืื ืื ืขืงืกืคึผืืืื ืืื ืื ืืืฆื ืคึฟืึทืจ ืืขืกืืื ื.
ืืขืจ ืคึผืจืึธืืืขื ืืื ืืขืืืขื ืงืึธืืขื ืึทืืขื Dirty Pipe, ืขื ืืขื ืฆื ืื ืงืจืืืืฉ ืืืึทืื ืขืจืึทืืืืืื Dirty COW ืืืืขื ืึทืคืืื ืืื 2016. ืขืก ืืื ืืืืขืจืงื ืึทื ืืื ืืขืจืืื ืขื ืคืื ืืขืคืึทืจ ืฉืืึทืคึผื, Dirty Pipe ืืื ืืืืฃ ืืขืจ ืืขืืืืงืขืจ ืืืจืื ืืื Dirty COW, ืึธืืขืจ ืืื ืคืื ืืจืื ืืขืจ ืฆื ืึทืจืืขืื. ืื ืืืึทืื ืขืจืึทืืืืืื ืืื ืืขืืืขื ืืืืขื ืึทืคืืื ืืขืฉืึทืก ืื ืึทื ืึทืืืกืืก ืคืื ืืขื ืืช ืืืขืื ืคึผืขืจืืึธืืืฉ ืงืึธืจืืคึผืฆืืข ืคืื โโืืขืงืขืก ืืึทืื ืืึธืืืื ืืืืขืจ ืื ื ืขืฅ ืืื ืึท ืกืืกืืขื ืืึทืื ืืึธืืืื ื ืงืึทืืคึผืจืขืกื ืึทืจืงืืืืื ืคืื ืึท ืงืืึธืฅ ืกืขืจืืืขืจ (37 ืงืึธืจืืคึผืฆืืขืก ืืื 3 ืืืฉืื ืืืืฃ ืึท ืืึธืืืื ืกืืกืืขื), ืื ืฆืืืจืืืืื ื ืคืื ืืืึธืก ืืื ืืขื ืืฆื ืื ืกืคึผืืืกืข() ืึธืคึผืขืจืึทืฆืืข ืืื ืึทื ื ืืืื ืคึผืืืคึผืก.
ืื ืืืึทืื ืขืจืึทืืืืืื ืืื ืกืืึทืจืืื ื ืืื ืื ืืื ืืงืก ืงืขืจื 5.8, ืืืคืจืืื ืืื ืืืืืืกื 2020, ื.ืข. ืคืึธืจืฉืืขืื ืืื ืืขืืืึทื 11, ืึธืืขืจ ืงืขื ื ืืฉื ืืืืจืงื ืื ืืึทืืข ืงืขืจื ืืื Ubuntu 20.04 LTS. ืื RHEL 8.x ืืื openSUSE/SUSE 15 ืงืขืจื ืึทืื ืืขื ืขื ืืืืืขืก ืืืืืจื ืืืืฃ ืึทืื ืฆืืืืืื, ืึธืืขืจ ืขืก ืืื ืืขืืืขื ืึทื ืื ืขื ืืขืจืื ื ืืืึธืก ืืขืคึฟืืจื ืื ืคึผืจืึธืืืขื ืืื ืืึทืงืคึผืึธืจื ืืื ืืื (ืขืก ืืขื ืขื ื ืึธื ืงืืื ืคึผืื ืืืขื ืืึทืื). ืืืจ ืงืขื ืขื ืฉืคึผืืจ ืื ืืืกืืึทืืข ืคืื โโืคึผืขืงื ืืขืจืืืึทื ืืืงืื ืืขื ืืื ืืืกืืจืืืืืฉืึทื ื ืืืืฃ ืื ืืืขืืขืจ: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. ื ืคืึทืจืจืืืื ืคึฟืึทืจ ืื ืืืึทืื ืขืจืึทืืืืืื ืืื ืืขืืืขื ืคืืจืืขืืืืื ืืื ืจืืืืกืื 5.16.11, 5.15.25 ืืื 5.10.102. ืืขืจ ืคืึทืจืจืืืื ืืื ืืืื ืึทืจืืึทื ืืขืจืขืื ื ืืื ืื ืงืขืจื ืืขื ืืฆื ืืื ืื ืึทื ืืจืืื ืคึผืืึทืืคืึธืจืืข.
ืื ืืืึทืื ืขืจืึทืืืืืื ืืื ืืขืคึฟืืจื ืืืจื ืื ืคืขืื ืคืื ืื ืืืืึทืืืืืืฉืึทื ืคืื ืื ืืืขืจื "buf->ืคืืึทืืก" ืืื ืื ืงืึธื ืคืื ืื ืคืึทื ืืงืฉืึทื ื copy_page_to_iter_pipe() ืืื push_pipe(), ืืจืึธืฅ ืืขื ืคืึทืงื ืึทื ืืขืจ ืืึผืจืื ืืื ื ืืฉื ืงืืืจื ืืืขื ืึทืืึทืงืืืืื ื ืึท ืกืืจืืงืืืจ ืืื ืืขืฉืึทืก ืืืืขืจ ืืึทื ืืคึผืืึทืืืืฉืึทื ื ืืื ืึทื ื ืืืื ืคึผืืืคึผืก, ืึท ืืืขืจื ืคืื ืื ืื ืืขืจ ืึธืคึผืขืจืึทืฆืืข. ื ืืฆื ืืขื ืฉืืจืื, ืึทื ืึทื ืคึผืจืืืืืืึทืืืฉื ืืืืข ืืึทื ืืฆืขืจ ืงืขื ืขื ืืขืจืืจืืืื ืื ืืืืกืืขื ืคืื ืื PIPE_BUF_FLAG_CAN_MERGE ืืืขืจื ืืื ืื ืคืึธื, ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืึธืจืืึทื ืืืืจื ืืึทืื ืึธืืืืขืจืจืืืืื ื ืืื ืื ืืืึทื ืงืึทืฉ ืืืจื ืคืฉืื ืฉืจืืืื ื ืืึทืข ืืึทืื ืฆื ืึท ืกืคึผืขืฆืืขื ืฆืืืขืืจืืื ืึทื ื ืืืื ืจืขืจ.
ืคึฟืึทืจ ืึท ืืึทืคืึทืื, ืื ืฆืื ืืขืงืข ืืืื ืืืื ืืืื ืขืืืืืง, ืืื ืืื ื ืึทืงืกืขืก ืจืขืื ืืขื ืขื ื ืืฉื ืึธืคึผืืขืฉืืขืื ืืืขื ืฉืจืืืื ืฆื ืจืขืจ, ืคืึทืจืืืึทื ืืื ืื ืืืึทื ืงืึทืฉ ืงืขื ืขื ืืืื ืืืื ืืขืืืื ืคึฟืึทืจ ืืขืงืขืก ืืืื ืืื ืคึผืึทืจืืืฉืึทื ื ืืึธืื ืืขื ืืืืื ืืืืขื ืขื (ืืืฉื, ืคึฟืึทืจ ืืขืงืขืก c CD- ืจืึทื). ื ืึธื ืจืืคึผืืืืกืื ื ืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืื ืื ืืืึทื ืงืึทืฉ, ืืืขื ืืืืขื ืขื ืืึทืื ืคืื ืึท ืืขืงืข, ืืขืจ ืคึผืจืึธืฆืขืก ืืืขื ืืึทืงืืืขื ื ืืฉื ืื ืคืึทืงืืืฉ ืืึทืื, ืึธืืขืจ ืื ืจืืคึผืืืืกื ืืึทืื.
ืึธืคึผืขืจืึทืฆืืข ืงืืื ืึทืจืึธืคึผ ืฆื ืฉืึทืคึฟื ืึทื ืึทื ื ืืืื ืงืึทื ืึทื ืืื ืคึผืืึธืืืืจื ืขืก ืืื ืึทืจืืืืจืึทืจืืฉ ืืึทืื ืืื ืกืืจ ืฆื ืขื ืฉืืจ ืึทื ืื PIPE_BUF_FLAG_CAN_MERGE ืคืึธื ืืื ืืึทืฉืืืื ืืื ืึทืืข ืจืื ื ืกืืจืึทืงืืฉืขืจื ืคืืจืืื ืื ืืื ืืื. ืืขืจื ืึธื, ืื ืืึทืื ืืขื ืขื ืืืืขื ืขื ืคึฟืื ืืขื ืงืึทื ืึทื, ืึธืืขืจ ืื ืคืึธื ืืืืืื ืืึทืฉืืืื ืืื ืึทืืข ืื ืกืืึทื ืกืื ืคืื ืื pipe_buffer ืกืืจืืงืืืจ ืืื ืื pipe_inode_info ืจืื ื ืกืืจืึทืงืืฉืขืจื. ื ืจืืฃ ืฆื splice () ืืื ืืึทื ืืขืืืื ืฆื ืืืืขื ืขื ืืึทืื ืคืื ืื ืฆืื ืืขืงืข ืืื ืึท ืึทื ื ืืืื ืจืขืจ, ืกืืึทืจืืื ื ืืืึท ืืขืจ ืืขืืืืื ืคืึธืืึธ. ืืืขื ืฉืจืืืื ืืึทืื ืฆื ืืขื ืึทื ื ืืืื ืจืขืจ, ืจืขืื ืฆื ืืขืจ PIPE_BUF_FLAG_CAN_MERGE ืคืึธื ืืื ืืึทืฉืืืื, ืื ืืึทืื ืืื ืื ืืืึทื ืงืึทืฉ ืืืขื ืืืื ืึธืืืืขืจืจืืืึทื ืึทื ืฉืืึธื ืคืื ืงืจืืืืืื ื ืึท ื ืืึทืข ืืืึทืฉืคึผืื ืคืื ืื pipe_buffer ืกืืจืืงืืืจ.
ืืงืืจ: opennet.ru