Buffer overflow เปƒเบ™ curl เปเบฅเบฐ libcurl, manifested เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเบœเปˆเบฒเบ™ SOCKS5 proxy

เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆ (CVE-2023-38545) เป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเบฑเบš เปเบฅเบฐเบชเบปเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ curl เปเบฅเบฐ libcurl Library, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบšเบšเบ‚เบฐเบซเบ™เบฒเบ™เบเบฑเบ™, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบฅเบปเป‰เบ™ buffer เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบฅเบฐเบซเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบตเปƒเบ™. เบเปˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเป€เบกเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเปƒเบŠเป‰ curl utility เบซเบผเบทเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰ libcurl, เป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ HTTPS เบ—เบตเปˆเบ„เบงเบšเบ„เบธเบกเป‚เบ”เบเบœเบนเป‰เป‚เบˆเบกเบ•เบต. เบšเบฑเบ™เบซเบฒเบˆเบฐเบ›เบฒเบเบปเบ”เบ‚เบถเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบœเปˆเบฒเบ™ proxy SOCKS5 เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เปƒเบ™ curl. เป€เบกเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเบเบปเบ‡เป‚เบ”เบเบšเปเปˆเบกเบตเบ•เบปเบงเปเบ—เบ™, เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบšเปเปˆเบ›เบฒเบเบปเบ”. เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบ curl 8.4.0. เบ™เบฑเบเบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเบ”เป‰เบฒเบ™เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ—เบตเปˆเบ„เบปเป‰เบ™เบžเบปเบšเบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบฅเบฒเบ‡เบงเบฑเบ™ $4660 เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เปœเบถเปˆเบ‡เบ‚เบญเบ‡เบ‚เปเป‰เบฅเบดเป€เบฅเบตเปˆเบก Internet Bug Bounty เบ‚เบญเบ‡ Hackerone.

เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบเบตเบ”เบˆเบฒเบเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบฅเบฐเบซเบฑเบ”เบเบฒเบ™เปเบเป‰เป„เบ‚เบŠเบทเปˆเป‚เบฎเบชเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เปเปˆเบเบฑเบš proxy SOCKS5. เบ–เป‰เบฒเบŠเบทเปˆเป‚เบฎเบชเบกเบตเบ„เบงเบฒเบกเบเบฒเบงเป€เบ–เบดเบ‡ 256 เบ•เบปเบงเบญเบฑเบเบชเบญเบ™, curl เบˆเบฐเบชเบปเปˆเบ‡เบŠเบทเปˆเป„เบ›เบซเบฒ proxy SOCKS5 เบ—เบฑเบ™เบ—เบตเป€เบžเบทเปˆเบญเบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™. เบ–เป‰เบฒเบŠเบทเปˆเป‚เบฎเบชเบเบฒเบงเบเบงเปˆเบฒ 255 เบ•เบปเบงเบญเบฑเบเบชเบญเบ™, เบกเบฑเบ™เบˆเบฐเบ›เปˆเบฝเบ™เป„เบ›เป€เบ›เบฑเบ™เบ•เบปเบงเปเบเป‰เป„เบ‚เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ เปเบฅเบฐ เบชเบปเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบเบณเบ™เบปเบ”เป„เบงเป‰เบฅเปˆเบงเบ‡เปœเป‰เบฒเป„เบ›เบซเบฒ SOCKS5. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบฅเบฐเบซเบฑเบ”, เบ—เบธเบ‡เบ—เบตเปˆเบŠเบตเป‰เบšเบญเบเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบญเบฒเบ”เบˆเบฐเบ–เบทเบเบ•เบฑเป‰เบ‡เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบˆเบฅเบฐเบˆเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ SOCKS5 เบ—เบตเปˆเบŠเป‰เบฒ, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบŠเบทเปˆเป‚เบฎเบชเบ—เบตเปˆเบเบฒเบงเบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆเบšเบฑเบŸเป€เบŸเบตเบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™เป„เบงเป‰เบชเบณเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ. เบ—เบตเปˆเบขเบนเปˆ IP เบซเบผเบท เบŠเบทเปˆเบ—เบตเปˆเบšเปเปˆเป€เบเบตเบ™ 255 เบ•เบปเบงเบญเบฑเบเบชเบญเบ™.

เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบ curl เบœเปˆเบฒเบ™ SOCKS5 proxy เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบเบฒเบ™ overflow buffer เบ”เป‰เบฒเบ™เบฅเบนเบเบ„เป‰เบฒเป‚เบ”เบเบเบฒเบ™เบชเบปเปˆเบ‡เบ„เบทเบ™เบฅเบฐเบซเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป (HTTP 30x) เปเบฅเบฐเบเปเบฒเบ™เบปเบ” "เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ:" header เบเบฑเบš URL เบ—เบตเปˆเบกเบต hostname เปƒเบ™เป„เบฅเบเบฐ 16 up. เป€เบ–เบดเบ‡ 64 KB (16 KB เปเบกเปˆเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญ overflow buffer เบˆเบฑเบ”เบชเบฑเบ™, เปเบฅเบฐ 65 KB เปเบกเปˆเบ™เบ„เบงเบฒเบกเบเบฒเบงเบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ hostname เปƒเบ™ URL). เบ–เป‰เบฒเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ libcurl เปเบฅเบฐ SOCKS5 proxy เบ—เบตเปˆเปƒเบŠเป‰เปเบกเปˆเบ™เบŠเป‰เบฒเบžเบฝเบ‡เบžเป, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบŠเบทเปˆเป‚เบฎเบ”เบ—เบตเปˆเบเบฒเบงเบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆ buffer เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ, เปเบ™เปˆเบ™เบญเบ™เบงเปˆเบฒเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบเบงเปˆเบฒ.

เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบกเปˆเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ libcurl เปเบฅเบฐเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™ curl utility เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™เป€เบกเบทเปˆเบญเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ "--limit-rate" เบ—เบตเปˆเบกเบตเบ„เปˆเบฒเบซเบ™เป‰เบญเบเบเบงเปˆเบฒ 65541 - libcurl เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฑเบ”เบชเบฑเบ™ buffer เบ‚เบฐเบซเบ™เบฒเบ” 16 KB, เปเบฅเบฐเปƒเบ™ curl utility. เบกเบฑเบ™เปเบกเปˆเบ™ 100 KB, เปเบ•เปˆเบ‚เบฐเบซเบ™เบฒเบ”เบ™เบตเป‰เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบถเป‰เบ™เบขเบนเปˆเบเบฑเบšเบ„เปˆเบฒเบ‚เบญเบ‡ "-limit-rate" เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต.

Daniel Stenberg, เบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™, เป„เบ”เป‰เบเปˆเบฒเบงเป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบธเบ”เบญเปˆเบญเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบงเบ”เบžเบปเบšเป€เบ›เบฑเบ™เป€เบงเบฅเบฒ 1315 เบกเบทเป‰. เบกเบฑเบ™เบเบฑเบ‡เป€เบงเบปเป‰เบฒเบงเปˆเบฒ 41% เบ‚เบญเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เปƒเบ™ curl เบญเบฒเบ”เบˆเบฐเบ–เบทเบเบซเบฅเบตเบเบฅเปˆเบฝเบ‡เป„เบ”เป‰เบ–เป‰เบฒ curl เป„เบ”เป‰เบ–เบทเบเบ‚เบฝเบ™เปƒเบ™เบžเบฒเบชเบฒเบ—เบตเปˆเบ›เบญเบ”เป„เบžเปƒเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ, เปเบ•เปˆเบšเปเปˆเบกเบตเปเบœเบ™เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบ„เบทเบ™ curl เป€เบ›เบฑเบ™เบžเบฒเบชเบฒเบญเบทเปˆเบ™เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบญเบฑเบ™เปƒเบเป‰เบ™เบตเป‰. เปƒเบ™เบ–เบฒเบ™เบฐเป€เบ›เบฑเบ™เบกเบฒเบ”เบ•เบฐเบเบฒเบ™เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบ–เบฒเบ™เบฅเบฐเบซเบฑเบ”, เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบ‚เบฐเบซเบเบฒเบเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™เบเบฒเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบฅเบฒเบเบฅเบฑเบเบญเบฑเบเบชเบญเบ™เปƒเบ™เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบ—เบตเปˆเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเบ›เบญเบ”เป„เบžเบเบฑเบšเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ. เบกเบฑเบ™เบเบฑเบ‡เบเปเบฒเบฅเบฑเบ‡เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ„เปˆเบญเบเป†เบ›เปˆเบฝเบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡ curl เบ”เป‰เบงเบเบ•เบปเบงเปเบ›เบ—เบตเปˆเบ‚เบฝเบ™เปƒเบ™เบžเบฒเบชเบฒเบ—เบตเปˆเบ›เบญเบ”เป„เบž, เป€เบŠเบฑเปˆเบ™ Hyper HTTP backend เบ—เบปเบ”เบฅเบญเบ‡เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ Rust.

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

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster