เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบžเบฒเบชเบฒ Rust เปเบฅเบฐ Go เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ‚เป‰เบฒเบกเบœเปˆเบฒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ—เบตเปˆเบขเบนเปˆ IP.

เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆ IP เบ—เบตเปˆเบกเบตเบ•เบปเบงเป€เบฅเบ octal เปƒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบ—เบตเปˆเบขเบนเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒ Rust เปเบฅเบฐ Go. เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ‚เป‰เบฒเบกเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปƒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบˆเบฑเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ loopback interface addresses (127.xxx) เบซเบผเบท intranet subnets เป€เบกเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบต SSRF (Server-side request forgery). เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบชเบทเบšเบ•เปเปˆเบงเบปเบ‡เบˆเบญเบ™เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰เบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰เบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” node-netmask (JavaScript, CVE-2021-28918, CVE-2021-29418), private-ip (JavaScript, CVE-2020-28360), ipaddress (Python, CVE- 2021-29921 ), เบ‚เปเป‰เบกเบนเบ™::Validate::IP (Perl, CVE-2021-29662) เปเบฅเบฐ Net::Netmask (Perl, CVE-2021-29424).

เบญเบตเบ‡เบ•เบฒเบกเบ‚เปเป‰เบกเบนเบ™เบชเบฐเป€เบžเบฒเบฐ, เบ„เปˆเบฒเบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเบขเบนเปˆ IP เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบชเบนเบ™เบ„เบงเบ™เบˆเบฐเบ–เบทเบเบ•เบตเบ„เบงเบฒเบกเปเบฒเบเป€เบ›เบฑเบ™เป€เบฅเบเบ–เบฒเบ™เปเบ›เบ”, เปเบ•เปˆเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเบšเปเปˆเป„เบ”เป‰เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰ เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบเบปเบเป€เบฅเบตเบเบ„เปˆเบฒเบชเบนเบ™, เบ–เบทเบงเปˆเบฒเบ„เปˆเบฒเป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบเบ—เบปเบ”เบชเบฐเบ™เบดเบเบปเบก. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ•เบปเบงเป€เบฅเบ 0177 เปƒเบ™เป€เบฅเบเปเบ›เบ”เป€เบ—เบปเปˆเบฒเบเบฑเบš 127 เปƒเบ™เบญเบฑเบ”เบ•เบฒเบ™เบดเบเบปเบก. เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ”เบฎเป‰เบญเบ‡เบ‚เปเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป‚เบ”เบเบเบฒเบ™เบฅเบฐเบšเบธเบ„เปˆเบฒ "0177.0.0.1", เป€เบŠเบดเปˆเบ‡เปƒเบ™เบ•เบปเบงเป€เบฅเบเบ—เบปเบ”เบชเบฐเบ™เบดเบเบปเบกเป€เบ—เบปเปˆเบฒเบเบฑเบš "127.0.0.1". เบ–เป‰เบฒเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒเบ–เบทเบเปƒเบŠเป‰, เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบˆเบฐเบšเปเปˆเบเบงเบ”เบžเบปเบšเบงเปˆเบฒเบ—เบตเปˆเบขเบนเปˆ 0177.0.0.1 เบขเบนเปˆเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเปˆเบญเบ 127.0.0.1/8, เปเบ•เปˆเบ„เบงเบฒเบกเบˆเบดเบ‡เปเบฅเป‰เบง, เป€เบกเบทเปˆเบญเบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบตเปˆเบขเบนเปˆ "0177.0.0.1", เป€เบŠเบดเปˆเบ‡. เบŸเบฑเบ‡เบŠเบฑเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบˆเบฐเบ›เบฐเบกเบงเบ™เบœเบปเบ™เป€เบ›เบฑเบ™ 127.0.0.1. เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบฅเบญเบเบฅเบงเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบตเปˆเบขเบนเปˆ intranet เป‚เบ”เบเบเบฒเบ™เบฅเบฐเบšเบธเบ„เปˆเบฒเป€เบŠเบฑเปˆเบ™ "012.0.0.1" (เป€เบ—เบปเปˆเบฒเบเบฑเบš "10.0.0.1").

เปƒเบ™ Rust, เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ "std::net" เป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบšเบˆเบฒเบเบšเบฑเบ™เบซเบฒ (CVE-2021-29922). เบ•เบปเบงเบงเบดเป€เบ„เบฒเบฐเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบ™เบตเป‰เบเบปเบเป€เบฅเบตเบเบ„เปˆเบฒเบชเบนเบ™เบเปˆเบญเบ™เบ„เปˆเบฒเบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบ—เบตเปˆเบขเบนเปˆ, เปเบ•เปˆเบ–เป‰เบฒเบšเปเปˆเป€เบเบตเบ™เบชเบฒเบกเบ•เบปเบงเป€เบฅเบเบ–เบทเบเบฅเบฐเบšเบธ, เบ•เบปเบงเบขเปˆเบฒเบ‡, "0177.0.0.1" เบˆเบฐเบ–เบทเบเบฎเบฑเบšเบฎเบนเป‰เบงเปˆเบฒเป€เบ›เบฑเบ™เบ„เปˆเบฒเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เปเบฅเบฐเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡. เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™เบ•เบฒเบก 010.8.8.8 เปเบฅเบฐ 127.0.026.1 . เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰ std::net::IpAddr เป€เบกเบทเปˆเบญเบงเบดเป€เบ„เบฒเบฐเบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบฅเบฐเบšเบธเป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เบญเบฒเบ”เบกเบตเบ„เบงเบฒเบกเบญเปˆเบญเบ™เป„เบซเบงเบ•เปเปˆเบเบฑเบšเบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ‚เบญเบ‡ SSRF (Server-side request forgery), RFI (Remote File Inclusion) เปเบฅเบฐ LFI (Local File Inclusion). เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เบชเบฒเบ‚เบฒ Rust 1.53.0.

เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบžเบฒเบชเบฒ Rust เปเบฅเบฐ Go เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ‚เป‰เบฒเบกเบœเปˆเบฒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ—เบตเปˆเบขเบนเปˆ IP.

เปƒเบ™ Go, เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ "net" เป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบš (CVE-2021-29923). เบŸเบฑเบ‡เบŠเบฑเบ™เปƒเบ™เบ•เบปเบง net.ParseCIDR เบ‚เป‰เบฒเบกเบชเบนเบ™เบ™เบณเปœเป‰เบฒเบเปˆเบญเบ™เบ•เบปเบงเป€เบฅเบเบ–เบฒเบ™เปเบ›เบ”เปเบ—เบ™เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบžเบงเบเบกเบฑเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ”เบœเปˆเบฒเบ™เบ„เปˆเบฒ 00000177.0.0.1, เป€เบŠเบดเปˆเบ‡เป€เบกเบทเปˆเบญเบเบงเบ”เป€เบšเบดเปˆเบ‡เปƒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™ net.ParseCIDR(00000177.0.0.1/24), เบˆเบฐเบ–เบทเบเบงเบดเป€เบ„เบฒเบฐเป€เบ›เบฑเบ™ 177.0.0.1/24, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™ 127.0.0.1/24. เบšเบฑเบ™เบซเบฒเบเบฑเบ‡เบชเบฐเปเบ”เบ‡เบญเบญเบเปƒเบ™เป€เบงเบ—เบต Kubernetes. เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™ Go release 1.16.3 เปเบฅเบฐ beta 1.17.

เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบžเบฒเบชเบฒ Rust เปเบฅเบฐ Go เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ‚เป‰เบฒเบกเบœเปˆเบฒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ—เบตเปˆเบขเบนเปˆ IP.


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

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