Linux เชจเซ‡เชŸเชซเชฟเชฒเซเชŸเชฐ เช•เชฐเซเชจเชฒ เชธเชฌเชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชจเชฌเชณเชพเชˆ

เชจเซ‡เชŸเชซเชฟเชฒเซเชŸเชฐเชฎเชพเช‚ เชจเชฌเชณเชพเชˆ (CVE-2021-22555) เช“เชณเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชœเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชชเซ‡เช•เซ‡เชŸเซ‹เชจเซ‡ เชซเชฟเชฒเซเชŸเชฐ เช•เชฐเชตเชพ เช…เชจเซ‡ เชธเช‚เชถเซ‹เชงเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซ€ Linux เช•เชฐเซเชจเชฒเชจเซ€ เชธเชฌเชธเชฟเชธเซเชŸเชฎ เช›เซ‡, เชœเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เช…เชฒเช— เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชนเซ‹เชตเชพ เชธเชนเชฟเชค, เชธเชฟเชธเซเชŸเชฎ เชชเชฐ เชฐเซ‚เชŸ เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. KASLR, SMAP เช…เชจเซ‡ SMEP เชชเซเชฐเซ‹เชŸเซ‡เช•เซเชถเชจ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเซเชธเชจเซ‡ เชฌเชพเชฏเชชเชพเชธ เช•เชฐเชคเชพ เชถเซ‹เชทเชฃเชจเซ‹ เช•เชพเชฐเซเชฏเช•เชพเชฐเซ€ เชชเซเชฐเซ‹เชŸเซ‹เชŸเชพเช‡เชช เชชเชฐเซ€เช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡. เชจเชฌเชณเชพเชˆ เชถเซ‹เชงเชจเชพเชฐ เชธเช‚เชถเซ‹เชงเช•เชจเซ‡ kCTF เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ เชฌเชพเชฏเชชเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชชเชฆเซเชงเชคเชฟเชจเซ‡ เช“เชณเช–เชตเชพ เชฌเชฆเชฒ Google เชคเชฐเชซเชฅเซ€ $20เชจเซเช‚ เช‡เชจเชพเชฎ เชฎเชณเซเชฏเซเช‚.

เช† เชธเชฎเชธเซเชฏเชพ เช•เชฐเซเชจเชฒ 2.6.19 เชฅเซ€ เช›เซ‡, เชœเซ‡ 15 เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพ เชฐเซ€เชฒเซ€เช เชฅเชฏเซ‡เชฒ เช›เซ‡, เช…เชจเซ‡ IPT_SO_SET_REPLACE เช…เชจเซ‡ IP6T_SO_SET_REPLACE เชนเซ‡เชจเซเชกเชฒเชฐเซเชธเชฎเชพเช‚ เชฌเช—เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช›เซ‡ เชœเซ‡ เช•เซ‹เชฎเซเชชเซ‡เชŸ เชฎเซ‹เชกเชฎเชพเช‚ เชธเซ‡เชŸเชธเซ‹เช•เซ‹เชชเซเชŸ เช•เซ‹เชฒ เชฆเซเชตเชพเชฐเชพ เช–เชพเชธ เชซเซ‹เชฐเซเชฎเซ‡เชŸ เช•เชฐเซ‡เชฒ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชฎเซ‹เช•เชฒเชคเซ€ เชตเช–เชคเซ‡ เชฌเชซเชฐ เช“เชตเชฐเชซเซเชฒเซ‹เชจเซเช‚ เช•เชพเชฐเชฃ เชฌเชจเซ‡ เช›เซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชธเช‚เชœเซ‹เช—เซ‹เชฎเชพเช‚, เชซเช•เซเชค เชฐเซเชŸ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชœ compat_setsockopt() เชชเชฐ เช•เซ‰เชฒ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชนเซเชฎเชฒเซ‹ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ‹ เชชเชฃ เช…เชจเชชเซเชฐเชฟเชตเชฟเชฒเซ‡เชœเซเชก เชฏเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชธเชฟเชธเซเชŸเชฎเซ‹ เชชเชฐ เชธเช•เซเชทเชฎ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชจเซ‡เชฎเชธเซเชชเซ‡เชธ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ เชฎเซ‡เชณเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชเช• เช…เชฒเช— เชฐเซเชŸ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชธเชพเชฅเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชฌเชจเชพเชตเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซเชฏเชพเช‚เชฅเซ€ เชจเชฌเชณเชพเชˆเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, "เชฏเซเชเชฐ เชจเซ‡เชฎเชธเซเชชเซ‡เชธ" เช‰เชฌเซเชจเซเชŸเซ เช…เชจเซ‡ เชซเซ‡เชกเซ‹เชฐเชพ เชชเชฐ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เชธเช•เซเชทเชฎ เช›เซ‡, เชชเชฐเช‚เชคเซ เชกเซ‡เชฌเชฟเชฏเชจ เช…เชจเซ‡ เช†เชฐเชเชšเชˆเชเชฒ เชชเชฐ เชธเช•เซเชทเชฎ เชจเชฅเซ€. เชจเชฌเชณเชพเชˆเชจเซ‡ เช เซ€เช• เช•เชฐเชคเซ€ เชชเซ‡เชšเชจเซ‡ 13 เชเชชเซเชฐเชฟเชฒเชจเชพ เชฐเซ‹เชœ Linux เช•เชฐเซเชจเชฒเชฎเชพเช‚ เช…เชชเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. เชกเซ‡เชฌเชฟเชฏเชจ, เช†เชฐเซเช• เชฒเชฟเชจเช•เซเชธ เช…เชจเซ‡ เชซเซ‡เชกเซ‹เชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชฆเซเชตเชพเชฐเชพ เชชเซ‡เช•เซ‡เชœ เช…เชชเชกเซ‡เชŸเซเชธ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡. Ubuntu, RHEL เช…เชจเซ‡ SUSE เชฎเชพเช‚, เช…เชชเชกเซ‡เชŸเซเชธ เชคเซˆเชฏเชพเชฐเซ€เชฎเชพเช‚ เช›เซ‡.

xt_compat_target_from_user() เชซเช‚เช•เซเชถเชจเชฎเชพเช‚ 32-เชฌเซ€เชŸเชฅเซ€ 64-เชฌเซ€เชŸ เชฐเชœเซ‚เช†เชคเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐ เชชเช›เซ€ เช•เชฐเซเชจเชฒ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชจเซ‡ เชธเชพเชšเชตเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชฎเชพเชชเชจเซ€ เช–เซ‹เชŸเซ€ เช—เชฃเชคเชฐเซ€เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชธเชฎเชธเซเชฏเชพ เชŠเชญเซ€ เชฅเชพเชฏ เช›เซ‡. เชฌเช— เช“เชซเชธเซ‡เชŸ 0x4C เชฆเซเชตเชพเชฐเชพ เชฌเชพเช‰เชจเซเชกเซ‡เชก เชซเชพเชณเชตเซ‡เชฒ เชฌเชซเชฐเชจเซ€ เชฌเชนเชพเชฐ เช•เซ‹เชˆเชชเชฃ เชธเซเชฅเชพเชจ เชชเชฐ เชšเชพเชฐ เชจเชฒ เชฌเชพเชˆเชŸ เชฒเช–เชตเชพเชจเซ€ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡. เช† เชฒเช•เซเชทเชฃ เชเช• เชถเซ‹เชทเชฃ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเซเช‚ เชนเชคเซเช‚ เชœเซ‡เชฃเซ‡ เชฐเซ‚เชŸ เช…เชงเชฟเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ€ เชนเชคเซ€ - msg_msg เชธเซเชŸเซเชฐเช•เซเชšเชฐเชฎเชพเช‚ m_list-> เชจเซ‡เช•เซเชธเซเชŸ เชชเซ‹เช‡เชจเซเชŸเชฐเชจเซ‡ เชธเชพเชซ เช•เชฐเซ€เชจเซ‡, เชฎเซ‡เชฎเชฐเซ€เชจเซ‡ เชฎเซเช•เซเชค เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชกเซ‡เชŸเชพ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชถเชฐเชคเซ‹ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ (เช‰เชชเชฏเซ‹เช— เชชเช›เซ€-เชฎเซเช•เซเชค), เชœเซ‡. เชชเช›เซ€ msgsnd() เชธเชฟเชธเซเชŸเชฎ เช•เซ‹เชฒเชจเชพ เชฎเซ‡เชจเซ€เชชเซเชฏเซเชฒเซ‡เชถเชจ เชฆเซเชตเชพเชฐเชพ เชธเชฐเชจเชพเชฎเชพเช‚เช“ เช…เชจเซ‡ เช…เชจเซเชฏ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชตเชชเชฐเชพเชฏ เช›เซ‡.

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

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