เช•เชฐเซเชจเชฒ เชจเชฌเชณเชพเชˆ Linux, CAN BCM เชจเซ‡เชŸเชตเชฐเซเช• เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเชจเซ‡ เช…เชธเชฐ เช•เชฐเซ‡ เช›เซ‡

เชฎเซ‚เชณเชฎเชพเช‚ Linux เชเช• เชจเชฌเชณเชพเชˆ (CVE-2021-3609) เช“เชณเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ เชœเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชคเซ‡เชฎเชจเชพ เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ‹ เชตเชงเชพเชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เช† เชธเชฎเชธเซเชฏเชพ CAN BCM เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เช…เชฎเชฒเซ€เช•เชฐเชฃเชฎเชพเช‚ เชฐเซ‡เชธ เชธเซเชฅเชฟเชคเชฟเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เช•เชฐเซเชจเชฒ เชฐเชฟเชฒเซ€เชเชฎเชพเช‚ เชนเชพเชœเชฐ เช›เซ‡. Linux 2.6.25 เชฅเซ€ 5.13-rc6 เชธเซเชงเซ€. เชตเชฟเชคเชฐเชฃเซ‹เชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพ เช‰เช•เซ‡เชฒเชพเชˆ เชจเชฅเซ€ (RHEL, Fedora, Debian, Ubuntu, SUSE, เช†เชฐเซเช•).

เชœเซ‡ เชธเช‚เชถเซ‹เชงเช•เซ‡ เชจเชฌเชณเชพเชˆ เชถเซ‹เชงเซ€ เช•เชพเชขเซ€ เชนเชคเซ€ เชคเซ‡ เช•เชฐเซเชจเชฒ เชงเชฐเชพเชตเชคเซ€ เชธเชฟเชธเซเชŸเชฎเซ‹ เชชเชฐ เชฐเซ‚เชŸ เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชถเซ‹เชทเชฃ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเชคเชพ. Linux เซซ.เซช เช…เชจเซ‡ เชชเช›เซ€เชจเชพ, เชœเซ‡เชฎเชพเช‚ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชนเซเชฎเชฒเซ‹ เช•เชฐเชตเชพเชจเซ€ เชถเช•เซเชฏเชคเชพเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ Ubuntu 20 เชเชชเซเชฐเชฟเชฒ, 2002 LTS. เชถเช•เซเชฏ เช›เซ‡ เช•เซ‡ เชเช•เซเชธเชชเซเชฒเซ‹เชˆเชŸเชจเซ‡ เชœเซ‚เชจเชพ เช•เชฐเซเชจเชฒ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชซเชฐเซ€เชฅเซ€ เชฌเชจเชพเชตเซ€ เชถเช•เชพเชฏ (เช•เชฐเซเชจเชฒ 5.4 เชฎเชพเช‚, CAN BCM เช•เซ‹เชก (net/can/bcm.c) hrtimer_tasklet เชฅเซ€ HRTIMER_MODE_SOFT เชฎเชพเช‚ เช–เชธเซ‡เชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹).

CAN BCM เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เชคเชฎเชจเซ‡ CAN เชฌเชธ (เช•เช‚เชŸเซเชฐเซ‹เชฒเชฐ เชเชฐเชฟเชฏเชพ เชจเซ‡เชŸเชตเชฐเซเช•) เชฆเซเชตเชพเชฐเชพ เช†เชตเชคเชพ เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เชฎเซ‡เชธเซ‡เชœ เชนเซ‡เชจเซเชกเชฒเชฐเชจเซ‡ เชฐเชœเซ€เชธเซเชŸเชฐ เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชšเซ‹เช•เซเช•เชธ เชจเซ‡เชŸเชตเชฐเซเช• เชธเซ‹เช•เซ‡เชŸ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เช‡เชจเช•เชฎเชฟเช‚เช— เชฎเซ‡เชธเซ‡เชœ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ bcm_rx_handler() เชซเช‚เช•เซเชถเชจ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชนเซเชฎเชฒเชพเช–เซ‹เชฐ เชฐเซ‡เชธเชจเซ€ เชธเซเชฅเชฟเชคเชฟเชจเซ‹ เชฒเชพเชญ เชฒเชˆ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชธเซ‹เช•เซ‡เชŸเชจเซ‡ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เชฌเช‚เชง เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ bcm_rx_handler() เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เชฅเชพเชฏ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชธเซ‹เช•เซ‡เชŸ เชฌเช‚เชง เชฅเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ bcm_release() เชซเช‚เช•เซเชถเชจ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ bcm_op เช…เชจเซ‡ bcm_sock เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธ เชฎเชพเชŸเซ‡ เชซเชพเชณเชตเซ‡เชฒ เชฎเซ‡เชฎเชฐเซ€เชจเซ‡ เชฎเซเช•เซเชค เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชนเชœเซ เชชเชฃ เชเช•เซเชเซ‡เช•เซเชฏเซเชŸเซ€เช‚เช— bcm_rx_handler() เชนเซ‡เชจเซเชกเชฒเชฐเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ‡ เช›เซ‡. เชเชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชŠเชญเซ€ เชฅเชพเชฏ เช›เซ‡ เช•เซ‡ เชœเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชฎเซเช•เซเชค เชฅเชฏเซ‡เชฒ เชฎเซ‡เชฎเชฐเซ€ เชฌเซเชฒเซ‹เช•เชจเซ€ เชเช•เซเชธเซ‡เชธ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชพเชฏ เช›เซ‡ (เช‰เชชเชฏเซ‹เช— เชชเช›เซ€-เชฎเซเช•เซเชค).

เชนเซเชฎเชฒเซ‹ เชฌเซ‡ CAN BCM เชธเซ‹เช•เซ‡เชŸเซเชธ เช–เซ‹เชฒเชตเชพ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ vcan เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชตเชพ เชฎเชพเชŸเซ‡ เช‰เช•เชณเซ‡ เช›เซ‡. เชชเซเชฐเชฅเชฎ เชธเซ‹เช•เซ‡เชŸ เช‡เชจเช•เชฎเชฟเช‚เช— CAN เชธเช‚เชฆเซ‡เชถเชพเช“ เชฎเชพเชŸเซ‡ เชนเซ‡เชจเซเชกเชฒเชฐ เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ RX_SETUP เชซเซเชฒเซ‡เช— เชธเชพเชฅเซ‡ sendmsg() เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชฌเซ€เชœเซเช‚ เชธเซ‹เช•เซ‡เชŸ เชชเซเชฐเชฅเชฎ เชธเซ‹เช•เซ‡เชŸ เชชเชฐ เชธเช‚เชฆเซ‡เชถ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡ sendmsg()เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡. เชธเช‚เชฆเซ‡เชถ เช†เชตเซเชฏเชพ เชชเช›เซ€, bcm_rx_handler() เช•เซ‰เชฒ เชŸเซเชฐเชฟเช—เชฐ เชฅเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เชนเซเชฎเชฒเชพเช–เซ‹เชฐ เชฏเซ‹เช—เซเชฏ เช•เซเชทเชฃ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเซเชฐเชฅเชฎ เชธเซ‹เช•เซ‡เชŸ เชฌเช‚เชง เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ bcm_release() เชจเซ€ เชถเชฐเซ‚เช†เชค เช…เชจเซ‡ bcm_op เช…เชจเซ‡ bcm_sock เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชพเชฏ เช›เซ‡, เชœเซ‹เช•เซ‡ bcm_rx_handler เชจเซเช‚ เช•เชพเชฐเซเชฏ () เชนเชœเซ เชธเซเชงเซ€ เชชเซ‚เชฐเซเชฃ เชฅเชฏเซเช‚ เชจเชฅเซ€.

bcm_sock เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ€ เชนเซ‡เชฐเชซเซ‡เชฐ เช•เชฐเซ€เชจเซ‡, เชนเซเชฎเชฒเชพเช–เซ‹เชฐ sk->sk_data_ready(sk) เชซเช‚เช•เซเชถเชจ, เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ เช…เชจเซ‡ เชฐเซ€เชŸเชฐเซเชจ-เช“เชฐเชฟเชเชจเซเชŸเซ‡เชก เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— (ROP) เชคเช•เชจเซ€เช•เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, modprobe_path เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเชจเชพ เช“เชตเชฐเชฐเชพเชˆเชŸเซ€เช‚เช—เชจเซ‡ เช—เซ‹เช เชตเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡เชฎเชจเซ‹ เช•เซ‹เชก เช›เซ‡. เชฐเซ‚เชŸ เช…เชงเชฟเช•เชพเชฐเซ‹ เชธเชพเชฅเซ‡ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช†เชฐเช“เชชเซ€ เชคเช•เชจเซ€เช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชนเซเชฎเชฒเชพเช–เซ‹เชฐ เชคเซ‡เชจเซ‹ เช•เซ‹เชก เชฎเซ‡เชฎเชฐเซ€เชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชคเซ‹ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชฒเซ‹เชก เช•เชฐเซ‡เชฒเซ€ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“เชฎเชพเช‚ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช‰เชชเชฒเชฌเซเชง เชฎเชถเซ€เชจ เชธเซ‚เชšเชจเชพเช“เชจเชพ เชŸเซเช•เชกเชพเช“ เชชเชฐ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชจเซ‹ เช…เช‚เชค เช•เช‚เชŸเซเชฐเซ‹เชฒ เชฐเซ€เชŸเชฐเซเชจ เชธเซ‚เชšเชจเชพ เชธเชพเชฅเซ‡ เชฅเชพเชฏ เช›เซ‡ (เชจเชฟเชฏเชฎ เชชเซเชฐเชฎเชพเชฃเซ‡, เช† เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช•เชพเชฐเซเชฏเซ‹เชจเชพ เช…เช‚เชค เช›เซ‡) . เชถเซ‹เชทเชฃเชจเซเช‚ เช•เชพเชฐเซเชฏ เช‡เชšเซเช›เชฟเชค เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เชฌเซเชฒเซ‹เช•เซเชธ ("เช—เซ‡เชœเซ‡เชŸเซเชธ") เชชเชฐ เช•เซ‰เชฒเซเชธเชจเซ€ เชธเชพเช‚เช•เชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชจเซ€เชšเซ‡ เช†เชตเซ‡ เช›เซ‡.

เช•เชฐเซเชจเชฒ เชจเชฌเชณเชพเชˆ Linux, CAN BCM เชจเซ‡เชŸเชตเชฐเซเช• เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเชจเซ‡ เช…เชธเชฐ เช•เชฐเซ‡ เช›เซ‡

เช† เชนเซเชฎเชฒเชพ เชฎเชพเชŸเซ‡ CAN เชธเซ‹เช•เซ‡เชŸเซเชธ เช…เชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค vcan เชจเซ‡เชŸเชตเชฐเซเช• เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช•เซเชธเซ‡เชธเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชนเซเชฎเชฒเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ‹ เชฌเชฟเชจ-เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ€ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฆเซเชตเชพเชฐเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชจเชพเชฎเชธเซเชฅเชณเซ‹ เชธเช•เซเชทเชฎ เช•เชฐเซ‡เชฒ เชธเชฟเชธเซเชŸเชฎเซ‹ เชชเชฐ เชฌเชจเชพเชตเซ‡เชฒเชพ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชฎเซ‡เชณเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชจเชพเชฎเชธเซเชฅเชณเซ‹ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เชธเช•เซเชทเชฎ เชนเซ‹เชฏ เช›เซ‡ Ubuntu เช…เชจเซ‡ Fedora, เชชเชฐเช‚เชคเซ เชธเช•เซเชฐเชฟเชฏ เชฅเชฏเซ‡เชฒ เชจเชฅเซ€ Debian เช…เชจเซ‡ RHEL.

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

DDoS เชธเซเชฐเช•เซเชทเชพ, VPS VDS เชธเชฐเซเชตเชฐ เชงเชฐเชพเชตเชคเซ€ เชธเชพเช‡เชŸเซเชธ เชฎเชพเชŸเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชนเซ‹เชธเซเชŸเชฟเช‚เช— เช–เชฐเซ€เชฆเซ‹ ๐Ÿ”ฅ DDoS เชธเซเชฐเช•เซเชทเชพ, VPS VDS เชธเชฐเซเชตเชฐเซเชธ เชธเชพเชฅเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชตเซ‡เชฌเชธเชพเช‡เชŸ เชนเซ‹เชธเซเชŸเชฟเช‚เช— เช–เชฐเซ€เชฆเซ‹ | ProHoster