เบชเบฐเบžเบฒเบšเบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™เบขเบนเปˆเปƒเบ™เบ•เบปเบงเป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเบ‚เบญเบ‡ Linux kernel เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”.

Jann Horn เบˆเบฒเบเบ—เบตเบกเบ‡เบฒเบ™ Google Project Zero, เบœเบนเป‰เบ—เบตเปˆเป€เบ„เบตเบเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบˆเบธเบ”เบญเปˆเบญเบ™เบ‚เบญเบ‡ Spectre เปเบฅเบฐ Meltdown, เป€เบœเบตเบเปเบœเปˆเป€เบ•เบฑเบเบ™เบดเบเบเบฒเบ™เบ‚เบธเบ”เบ„เบปเป‰เบ™เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆ (CVE-2021-4083) เปƒเบ™เบ•เบปเบงเป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเบ‚เบญเบ‡ Linux kernel. เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเปเบกเปˆเบ™เป€เบ™เบทเปˆเบญเบ‡เบกเบฒเบˆเบฒเบเบชเบฐเบžเบฒเบšเป€เบŠเบทเป‰เบญเบŠเบฒเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เปเบฒเบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”เป„เบŸเบฅเปŒ descriptors เปƒเบ™ sockets unix เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰ unprivileged เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเปƒเบ™เบฅเบฐเบ”เบฑเบš kernel.

เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเป€เบžเบฒเบฐเบงเปˆเบฒเบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบ—เบตเปˆเบชเบฐเบžเบฒเบšเบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป„เบ”เป‰เบ–เบทเบเบ„เบฒเบ”เบ„เบฐเป€เบ™เบงเปˆเบฒเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเป€เบเบตเบ™เป„เบ›เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบเบฒเบ™เบ‚เบนเบ”เบฎเบตเบ”เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡, เปเบ•เปˆเบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเบถเบเบชเบฒเป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญเบ—เบตเปˆเบšเปเปˆเบ„เปˆเบญเบเป€เบŠเบทเปˆเบญเบ‡เปˆเบฒเบเป†เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบเปเปˆเบชเบฒเบกเบฒเบ”เบเบฒเบเป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบ–เป‰เบฒเบœเบนเป‰เบชเป‰เบฒเบ‡เบเบฒเบ™เบ‚เบนเบ”เบฎเบตเบ”เบกเบต. เบ—เบฑเบเบชเบฐเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปเบฅเบฐเป€เบงเบฅเบฒ. Yann Horn เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™, เบ”เป‰เบงเบเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™ filigree, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบœเปˆเบญเบ™เบชเบฐเบžเบฒเบšเป€เบŠเบทเป‰เบญเบŠเบฒเบ”เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆ close() เปเบฅเบฐ fget() เบžเป‰เบญเบกเบเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเปƒเบŠเป‰เป„เบ”เป‰เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเปเบฅเบฐเบšเบฑเบ™เบฅเบธเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปเบฅเป‰เบง. เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบฒเบเปƒเบ™เปเบเปˆเบ™.

เบชเบฐเบžเบฒเบšเบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เบดเบ”เบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเป„เบŸเบฅเปŒเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเป‚เบ—เบซเบฒ close() เปเบฅเบฐ fget() เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™. เบเบฒเบ™เป‚เบ—เบซเบฒเบ›เบดเบ” () เบญเบฒเบ”เบˆเบฐเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบเปˆเบญเบ™เบ—เบตเปˆ fget() เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบœเบนเป‰เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเบชเบฑเบšเบชเบปเบ™เป€เบžเบฒเบฐเบงเปˆเบฒ, เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™ refcount, เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบˆเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เบžเบฒเบเบ™เบญเบ, เปเบ•เปˆเบˆเบฐเบเบฑเบ‡เบ„เบปเบ‡เบ•เบดเบ”เบเบฑเบšเบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเป„เบŸเบฅเปŒ, i.e. เบœเบนเป‰เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเบˆเบฐเบ„เบดเบ”เบงเปˆเบฒเบกเบฑเบ™เบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปเบšเบšเบžเบดเป€เบชเบ”, เปเบ•เปˆเปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบชเปเบฒเบฅเบฑเบšเป„เบฅเบเบฐเป€เบงเบฅเบฒเบชเบฑเป‰เบ™เป†, เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ descriptor เป„เบŸเบฅเปŒเบเบฑเบ‡เบˆเบฐเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ—เบตเปˆเบ–เบทเบเบ›เบปเบ”เบ›เปˆเบญเบ.

เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™, เบซเบผเบฒเบเป† tricks เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ‚เบธเบ”เบ„เบปเป‰เบ™เป€เบ–เบดเบ‡ 30% เป€เบกเบทเปˆเบญเปเบ™เบฐเบ™เปเบฒเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบชเบฐเป€เบžเบฒเบฐ. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ—เบตเปˆเบกเบตเบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเป„เบŸเบฅเปŒเบซเบผเบฒเบเบฎเป‰เบญเบ nanoseconds, เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบ–เบทเบเบ‚เบฑเบšเป„เบฅเปˆเบญเบญเบเบˆเบฒเบเบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเป‚เบ”เบเบเบฒเบ™เบ–เบดเป‰เบก cache เบ”เป‰เบงเบเบเบดเบ”เบˆเบฐเบเปเบฒเบขเบนเปˆเปƒเบ™เบซเบผเบฑเบ CPU เบญเบทเปˆเบ™, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ”เบถเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบˆเบฒเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบกเบฒเบˆเบฒเบ. cache CPU เป„เบง.

เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบญเบฑเบ™เบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบšเป€เบงเบฅเบฒเบฎเบฒเบ”เปเบงเป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเป€เบงเบฅเบฒเบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™. เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป„เบ”เป‰เบ–เบทเบเป€เบฅเบทเบญเบเป€เบžเบทเปˆเบญเปƒเบซเป‰เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบˆเบฐเบ”เบฑเบšเป„เบŸเป€เบกเบทเปˆเบญเบชเบฐเบžเบฒเบšเบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เปเบฅเบฐเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบšเบฒเบ‡เป€เบงเบฅเบฒ. เป€เบžเบทเปˆเบญเบŠเบฑเบเบŠเป‰เบฒเบเบฒเบ™เบเบฑเบšเบ„เบทเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ„เบงเบšเบ„เบธเบก, เบ›เบฐเบกเบฒเบ™ 50 เบžเบฑเบ™เบฅเบฒเบเบเบฒเบ™เปƒเบ™ waitqueue เป„เบ”เป‰เบ–เบทเบเบœเบฐเบฅเบดเบ”เป‚เบ”เบเปƒเบŠเป‰ epoll, เป€เบŠเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเบœเปˆเบฒเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡.

เป€เบ•เบฑเบเบ™เบดเบเบเบฒเบ™เบ‚เบธเบ”เบ„เบปเป‰เบ™เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เป€เบœเบตเบเบซเบผเบฑเบ‡เบˆเบฒเบเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเบšเปเปˆเป€เบ›เบตเบ”เป€เบœเบตเบ 90 เบกเบทเป‰. เบšเบฑเบ™เบซเบฒเบ›เบฒเบเบปเบ”เบ•เบฑเป‰เบ‡เปเบ•เปˆ kernel 2.6.32 เปเบฅเบฐเบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เบ•เบปเป‰เบ™เป€เบ”เบทเบญเบ™เบ—เบฑเบ™เบงเบฒ. เบเบฒเบ™เปเบเป‰เป„เบ‚เป„เบ”เป‰เบ–เบทเบเบฅเบงเบกเบขเบนเปˆเปƒเบ™ kernel 5.16 เปเบฅเบฐเบเบฑเบ‡เบ–เบทเบเป‚เบญเบ™เป„เบ›เบซเบฒเบชเบฒเบ‚เบฒ LTS เบ‚เบญเบ‡ kernel เปเบฅเบฐ kernel packages เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบ. เป€เบ›เบฑเบ™เบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™ CVE-2021-0920, เป€เบŠเบดเปˆเบ‡เบชเบฐเปเบ”เบ‡เบญเบญเบเปƒเบ™เบ•เบปเบงเป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ—เบธเบ‡ MSG_PEEK.

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

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