Glibc เจคเฉ‹เจ‚ ARMv7 เจฒเจˆ memcpy เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ—เฉฐเจญเฉ€เจฐ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€

เจธเจฟเจธเจ•เฉ‹ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ–เฉ‹เจœเจ•เจฐเจคเจพเจตเจพเจ‚ เจฌเฉ‡เจจเจ•เจพเจฌ เจตเฉ‡เจฐเจตเฉ‡ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€เจ†เจ‚ (CVE-2020-609632-เจฌเจฟเฉฑเจŸ ARMv7 เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฒเจˆ Glibc-เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ memcpy() เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจšเฅค เจ‡เจน เจธเจฎเฉฑเจธเจฟเจ† เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฆเฉ‡ เจจเจ•เจพเจฐเจพเจคเจฎเจ• เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ‡ เจ—เจฒเจค เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจพเจฐเจจ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจ•เจพเจชเฉ€ เจ•เฉ€เจคเฉ‡ เจ–เฉ‡เจคเจฐ เจฆเจพ เจ†เจ•เจพเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ‡ เจ•เจพเจฐเจจ เจœเฉ‹ เจฆเจธเจคเจ–เจค เจ•เฉ€เจคเฉ‡ 32-เจฌเจฟเฉฑเจŸ เจชเฉ‚เจฐเจจ เจ…เฉฐเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจจเฉˆเจ—เฉ‡เจŸเจฟเจต เจธเจพเจˆเจœเจผ เจตเจพเจฒเฉ‡ ARMv7 เจธเจฟเจธเจŸเจฎเจพเจ‚ 'เจคเฉ‡ memcpy() เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ€ เจ—เจฒเจค เจคเฉเจฒเจจเจพ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจจเจฟเจฐเจงเจพเจฐเจค เจฌเจซเจฐ เจฆเฉ€เจ†เจ‚ เจนเฉฑเจฆเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ…เจœเจฟเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจฆเจพ เจธเจผเฉ‹เจธเจผเจฃ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจนเจฎเจฒเจพเจตเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ‡ เจ‡เฉฑเจ• เจจเจ•เจพเจฐเจพเจคเจฎเจ• เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจ—เจ เจจ เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฟเจธ เจฆเฉเจ†เจฐเจพ เจ•เจพเจชเฉ€ เจ•เฉ€เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฆเจพ เจ†เจ•เจพเจฐ เจธเฉฐเจšเจพเจฐเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ, 2 GB เจคเฉ‹เจ‚ เจตเฉฑเจง เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ‡เจน เจจเจ•เจพเจฐเจพเจคเจฎเจ• เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพ. เจกเฉ‡เจŸเจพ, เจชเจฐ เจนเจฎเจฒเฉ‡ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจฌเจซเจฐ เจธเฉ€เจฎเจพเจตเจพเจ‚ เจคเฉ‹เจ‚ เจชเจพเจฐ เจœเจพเจฃ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ 4GB เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ). memcpy() เจซเฉฐเจ•เจธเจผเจจ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฟเจ†เจชเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ ARMv7 เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจ†เจŸเฉ‹เจฎเฉ‹เจŸเจฟเจต เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚, เจฎเฉ‹เจฌเจพเจˆเจฒ, เจ‰เจฆเจฏเฉ‹เจ—เจฟเจ•, เจ‰เจชเจญเฉ‹เจ—เจคเจพ, เจธเฉฐเจšเจพเจฐ เจ…เจคเฉ‡ เจเจฎเจฌเฉˆเจกเจก เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจตเจฟเฉฑเจš เจ†เจฎ เจนเจจ, เจœเฉ‹ เจ•เจฟ เจฌเจฒเฉ‚เจŸเฉเฉฑเจฅ, HD เจฐเฉ‡เจกเฉ€เจ“/DAB, USB, CAN เจฌเฉฑเจธ, เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเฉฐเจญเจพเจตเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจนเจฎเจฒเจฟเจ†เจ‚ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจนเจจเฅค เจตเจพเจˆ-เจซเจพเจˆ เจซเจพเจˆ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจพเจนเจฐเฉ€ เจกเจพเจŸเจพ เจธเจฐเฉ‹เจคเจพเจ‚ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจจเฉˆเฉฑเจŸเจตเจฐเจ• 'เจคเฉ‡ เจชเจนเฉเฉฐเจšเจฏเฉ‹เจ— เจธเฉ‡เจตเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจœเฉ‹ เจ†เจ•เจพเจฐ เจชเจพเจฌเฉฐเจฆเฉ€เจ†เจ‚ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ‡เจจเจชเฉเจŸ เจกเจพเจŸเจพ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ) 'เจคเฉ‡ เจนเจฎเจฒเจพ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจ†เจŸเฉ‹เจฎเฉ‹เจฌเจพเจˆเจฒ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจฌเจฃเฉ‡ เจ‡เฉฑเจ• HTTP เจธเจฐเจตเจฐ 'เจคเฉ‡ เจนเจฎเจฒเจพ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจธเจผเฉ‹เจธเจผเจฃ เจฆเฉ€ เจธเจฟเจฐเจœเจฃเจพ เจนเฉˆ, เจœเฉ‹ เจ†เจŸเฉ‹เจฎเฉ‹เจฌเจพเจˆเจฒ เจตเจพเจˆ-เจซเจพเจˆ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฆเฉเจ†เจฐเจพ เจชเจนเฉเฉฐเจšเจฏเฉ‹เจ— เจนเฉˆเฅค เจ‡เฉฑเจ• เจฌเจพเจนเจฐเฉ€ เจนเจฎเจฒเจพเจตเจฐ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจตเฉฑเจกเฉ€ GET เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœ เจ•เฉ‡ เจ…เจคเฉ‡ เจธเจฟเจธเจŸเจฎ เจคเฉฑเจ• เจฐเฉ‚เจŸ เจชเจนเฉเฉฐเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจ•เฉ‡ เจ‡เจธ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• memcpy เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจฆเจพ เจธเจผเฉ‹เจธเจผเจฃ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค

Glibc เจคเฉ‹เจ‚ ARMv7 เจฒเจˆ memcpy เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ—เฉฐเจญเฉ€เจฐ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€

32-เจฌเจฟเฉฑเจŸ x86 เจธเจฟเจธเจŸเจฎเจพเจ‚ 'เจคเฉ‡, เจธเจฎเฉฑเจธเจฟเจ† เจฆเจฟเจ–เจพเจˆ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธ เจขเจพเจ‚เจšเฉ‡ เจฒเจˆ memcpy เจธเจฅเจพเจชเจจ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจธเจพเจˆเจœเจผ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจธเจพเจˆเจœเจผ_เจŸเฉ€ (เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš) เจฆเฉ‡ เจ…เจฃ-เจนเจธเจคเจพเจ–เจฐเจฟเจค เจชเฉ‚เจฐเจจ เจ…เฉฐเจ• เจฎเฉเฉฑเจฒ เจตเจœเฉ‹เจ‚ เจตเจฟเจ†เจ–เจฟเจ† เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ ARMv7 เจฒเจˆ เจ‡เจธ เจจเฉ‚เฉฐ size_t เจฆเฉ€ เจฌเจœเจพเจ เจธเจพเจˆเจจ เจ•เฉ€เจคเฉ‡ เจชเฉ‚เจฐเจจ เจ…เฉฐเจ• เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจซเจฟเจ•เจธ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจ‰เจชเจฒเจฌเจง เจนเฉˆ เจชเฉˆเจš, เจœเฉ‹ เจ…เจ—เจธเจค เจฆเฉ‡ Glibc 2.32 เจ…เจชเจกเฉ‡เจŸ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค
เจซเจฟเจ•เจธ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจ‰เจฌเจพเจฒเจฆเจพ เจนเฉˆ เจœเฉ‹ เจนเจธเจคเจพเจ–เจฐเจฟเจค เจ“เจชเจฐเฉ‡เจ‚เจกเจพเจ‚ (bge เจ…เจคเฉ‡ blt) 'เจคเฉ‡ เจนเจธเจคเจพเจ–เจฐเจฟเจค เจนเจธเจคเจพเจ–เจฐเจพเจ‚ (blo เจ…เจคเฉ‡ bhs) เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจ…เจœเฉ‡ เจคเฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจจเจนเฉ€เจ‚ เจนเฉ‹เจ‡เจ† เจนเฉˆ เจกเฉ‡เจฌเฉ€เจ…เจจ 9 เจ…เจคเฉ‡ 10 (เจกเฉ‡เจฌเฉ€เจ…เจจ 8 เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจˆ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ), เจซเฉ‡เจกเฉ‹เจฐเจพ, เจ‰เจฌเจคเฉ‚เฉฐ, OpenEmbedded, Tizen (glibc เจฆเฉเจ†เจฐเจพ เจตเจฐเจคเจฟเจ† เจ—เจฟเจ†)เฅค RHEL ะธ SUSE เจฎเฉเฉฑเจฆเจพ เจชเฉเจฐเจญเจพเจตเจฟเจค เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจน 32-เจฌเจฟเฉฑเจŸ ARMv7 เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจเจ‚เจกเจฐเฉŒเจ‡เจก เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจจเจพเจฒ เจชเฉเจฐเจญเจพเจตเจฟเจค เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ†เจชเจฃเฉ‡ เจ–เฉเจฆ เจฆเฉ‡ libc (เจฌเจพเจ‡เจ“เจจเจฟเจ•) เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค IN เจ“เจชเจจเจกเจฌเจฒเจฏเฉ‚เจ†เจฐเจŸเฉ€ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฌเจฟเจฒเจกเจธ Musl เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจชเจฐ glibc เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจตเฉ€ เจ‰เจชเจฒเจฌเจง เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹