2024ๅนด03ๆœˆ07ๆ—ฅ 6m read

Cato ใซใ‚ˆใ‚‹ cURL SOCKS5 ใƒ’ใƒผใƒ—ใƒปใƒใƒƒใƒ•ใ‚กใƒปใ‚ชใƒผใƒใƒผใƒ•ใƒญใƒผ (CVE-2023-38545) ใฎๅˆ†ๆžใจๅฏพ็ญ–

Vadim Freger
Vadim Freger
SCatoโ€™s Analysis and Protection for cURL

่ฆ็ด„ใ™ใ‚‹ใจใ€ใ“ใฎ่„†ๅผฑๆ€งใฏๅฝ“ๅˆไบˆๆƒณใ•ใ‚Œใฆใ„ใŸใ‚ˆใ‚Šใ‚‚ๆทฑๅˆปใงใฏใชใ„ใ‚ˆใ†ใงใ™ใ€‚Catoใฎ้กงๅฎขใจใ‚คใƒณใƒ•ใƒฉใฏๅฎ‰ๅ…จใงใ™ใ€‚

ๅ…ˆ้€ฑใ€cURLใฎใ‚ชใƒชใ‚ธใƒŠใƒซไฝœ่€…ใงใ‚ใ‚Šใ€้•ทๅนดใซใ‚ใŸใ‚Š้–‹็™บใ‚’ๆ‰‹ๅ‹•ใ™ใ‚‹Daniel StenbergใŒใ€ใƒฆใƒ“ใ‚ญใ‚ฟใ‚นใชlibcurl้–‹็™บใƒฉใ‚คใƒ–ใƒฉใƒชใจใ€curlใ‚ณใƒžใƒณใƒ‰ใƒฉใ‚คใƒณใƒฆใƒผใƒ†ใ‚ฃใƒชใƒ†ใ‚ฃใซๅญ˜ๅœจใ™ใ‚‹้‡ๅคงๅบฆใฎ้ซ˜ใ„่„†ๅผฑๆ€งใฎใ€Œใƒ†ใ‚ฃใƒผใ‚ถใƒผใ€ใ‚’็™บ่กจใ—ใพใ—ใŸใ€‚

ไธ€้€ฑ้–“ใ‚‚ๅพ…ใŸใ•ใ‚ŒใŸๆŒ™ๅฅใ€ไบบ้“ใซๅฏพใ™ใ‚‹่ค‡ๆ•ฐใฎๅ‡ถๆ‚ช็Šฏ็ฝชใ€ใใ—ใฆๅฎฃๆˆฆๅธƒๅ‘ŠใŒใชใ•ใ‚Œใ€่„†ๅผฑๆ€งใŒๅ…ฌ่กจใ•ใ‚Œใพใ—ใŸใ€‚

ไปŠใซใชใฃใฆๆ€ใ†ใจใ€ใ“ใฎๆœ€ๅˆใฎ็™บ่กจใฏใ€ใ‚ปใ‚ญใƒฅใƒชใƒ†ใ‚ฃใจใ‚ทใ‚นใƒ†ใƒ ็ฎก็†่€…ใŸใกใซใ€ใ‚„ใ‚„้Žๅบฆใจใ‚‚ใ„ใˆใ‚‹ใƒ‘ใƒ‹ใƒƒใ‚ฏใ‚’ๅผ•ใ่ตทใ“ใ—ใพใ—ใŸใ€‚ใ—ใ‹ใ—ใ€libcurl ใจcurl ใฎไฝฟ็”จๆณ•ใŒไธ–็•Œไธญใงใ„ใ‹ใซๅบƒใๆ™ฎๅŠใ—ใฆใ„ใ‚‹ใ‹ใ‚’่€ƒใˆใ€๏ผˆCatoใงใฏๅŒใ˜ๆง˜ใซๅบƒใไฝฟ็”จใ•ใ‚Œใฆใ„ใพใ™ใ€‚่ฉณใ—ใใฏๅพŒ่ฟฐใ—ใพใ™)ใ€libcurlใฎใ‚ฆใ‚งใƒ–ใ‚ตใ‚คใƒˆใ‹ใ‚‰ๅผ•็”จใ—ใพใ™ – ใ‚คใƒณใ‚ฟใƒผใƒใƒƒใƒˆใซๆŽฅ็ถšใ•ใ‚Œใฆใ„ใ‚‹ๅœฐ็ƒไธŠใฎใ™ในใฆใฎไบบ้–“ใฏใ€ๆ„่ญ˜็š„ใ‹ใฉใ†ใ‹ใซใ‹ใ‹ใ‚ใ‚‰ใšใ€ๆฏŽๆ—ฅ (lib)curl ใ‚’ไฝฟ็”จใ—ใฆใ„ใ‚‹ใจๆŽจๅฎšใ•ใ‚Œใฆใ„ใพใ™ – ใงใ™ใ‹ใ‚‰ใ€ๅฝ“ๅˆใฎๆ‡ธๅฟตใฏๅฝ“็„ถใงใ—ใŸใ€‚

libcurl ใƒฉใ‚คใƒ–ใƒฉใƒชใจcurl ใƒฆใƒผใƒ†ใ‚ฃใƒชใƒ†ใ‚ฃใฏใ€URLใจใฎๅฏพ่ฉฑใ‚„ใ•ใพใ–ใพใชใƒžใƒซใƒใƒ—ใƒญใƒˆใ‚ณใƒซ ใƒ•ใ‚กใ‚คใƒซ่ปข้€ใซไฝฟ็”จใ•ใ‚Œใ€ใ™ในใฆใฎไธป่ฆใช Linux/UNIX ใƒ‡ใ‚ฃใ‚นใƒˆใƒชใƒ“ใƒฅใƒผใ‚ทใƒงใƒณใซใƒใƒณใƒ‰ใƒซใ•ใ‚Œใฆใ„ใพใ™ใ€‚ใŠใใ‚‰ใใใ†ใ—ใŸ็†็”ฑใ‹ใ‚‰ใ€ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใฎ็ฎก็†่€…ใฏ่„†ๅผฑๆ€งใ‚’้žๅ…ฌ้–‹ใซใ™ใ‚‹ใ“ใจใ‚’ๆฑบใ‚ใ€ๆ”ปๆ’ƒ่€…ใ‚’้˜ปๆญขใ™ใ‚‹ใŸใ‚ใซ่ฉณ็ดฐใ‚’ใปใจใ‚“ใฉๅ…ฑๆœ‰ใ›ใšใ€ใƒ‘ใƒƒใƒ้ฉ็”จๆธˆใƒใƒผใ‚ธใƒงใƒณใŒๅ…ฌ้–‹ใ•ใ‚ŒใŸใจใใซๅ‚™ใˆใฆใใ‚Œใžใ‚Œใฎใƒ‘ใƒƒใ‚ฑใƒผใ‚ธ็ฎก็†ใ‚ทใ‚นใƒ†ใƒ ใงๆบ–ๅ‚™ใ‚’ๆ•ดใˆใฆใ„ใ‚‹้–“ใ€OS ใƒ‡ใ‚ฃใ‚นใƒˆใƒชใƒ“ใƒฅใƒผใ‚ทใƒงใƒณใฎ็ฎก็†่€…ใซไบ‹ๅ‰ใซ้€š็Ÿฅใ™ใ‚‹ใ ใ‘ใงใ—ใŸใ€‚

Rapid CVE Mitigation by Cato Security Research

่„†ๅผฑๆ€งใฎ่ฉณ็ดฐ

ใƒใƒƒใƒ•ใ‚กใƒปใ‚ชใƒผใƒใƒผใƒ•ใƒญใƒผใฎ่„†ๅผฑๆ€งใ‚’ๅซใ‚€ใ‚ณใƒผใƒ‰ใฏใ€SOCKS5ใƒ—ใƒญใ‚ญใ‚ทใƒ—ใƒญใƒˆใ‚ณใƒซใ‚’ใ‚ตใƒใƒผใƒˆใ™ใ‚‹curlใฎไธ€้ƒจใงใ™ใ€‚
SOCKS5ใฏใ€็ต„็น”ใฎใƒ—ใƒญใ‚ญใ‚ทใ‚’่จญๅฎšใ—ใŸใ‚Šใ€Torใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใงไฝฟใ‚ใ‚Œใฆใ„ใ‚‹ใ‚ˆใ†ใซใƒˆใƒฉใƒ•ใ‚ฃใƒƒใ‚ฏใ‚’ๅŒฟๅๅŒ–ใ—ใŸใ‚Šใ™ใ‚‹ใŸใ‚ใฎใ€ใ‚ˆใ็Ÿฅใ‚‰ใ‚ŒใŸใ‚ทใƒณใƒ—ใƒซใชใƒ—ใƒญใƒˆใ‚ณใƒซใงใ™๏ผˆๆœ€่ฟ‘ใงใฏใ‚ใพใ‚Šไฝฟใ‚ใ‚Œใฆใ„ใพใ›ใ‚“ใŒ๏ผ‰ใ€‚

่„†ๅผฑๆ€งใฏlibcurlใฎใƒ›ใ‚นใƒˆๅ่งฃๆฑบใซใ‚ใ‚Šใ€ใ“ใฎใƒ›ใ‚นใƒˆๅ่งฃๆฑบใฏใ‚ฟใƒผใ‚ฒใƒƒใƒˆใฎใƒ—ใƒญใ‚ญใ‚ทใ‚ตใƒผใƒใƒผใซๅง”่ญฒใ•ใ‚Œใ‚‹ใ‹ใ€libcurl่‡ช่บซใซใ‚ˆใฃใฆ่กŒใ‚ใ‚Œใพใ™ใ€‚255ใƒใ‚คใƒˆไปฅไธŠใฎใƒ›ใ‚นใƒˆๅใŒไธŽใˆใ‚‰ใ‚ŒใŸๅ ดๅˆใ€ใƒญใƒผใ‚ซใƒซ่งฃๆฑบใซๅˆ‡ใ‚Šๆ›ฟใ‚ใ‚Šใ€่งฃๆฑบใ•ใ‚ŒใŸใ‚ขใƒ‰ใƒฌใ‚นใฎใฟใŒๆธกใ•ใ‚Œใพใ™ใ€‚ใ“ใฎใƒใ‚ฐใฎใ›ใ„ใงใ€ใƒใƒณใƒ‰ใ‚ทใ‚งใ‚คใ‚ฏใŒๅๅˆ†ใซ้…ใ„ๅ ดๅˆ๏ผˆๆŠ•็จฟใซใ‚ˆใ‚‹ใจใ€ใ€Œๅๅˆ†ใซ้…ใ„ใ€ใจใฏๅ…ธๅž‹็š„ใชใ‚ตใƒผใƒใƒผใฎใƒฌใ‚คใƒ†ใƒณใ‚ทใƒผใ‚’ๆŒ‡ใ—ใพใ™๏ผ‰ใ€ใƒใƒƒใƒ•ใ‚กใƒปใ‚ชใƒผใƒใƒผใƒ•ใƒญใƒผใŒๅผ•ใ่ตทใ“ใ•ใ‚Œใ€่งฃๆฑบใ•ใ‚ŒใŸ็ตๆžœใฎไปฃใ‚ใ‚Šใซใ€Œ้•ทใ™ใŽใ‚‹ใƒ›ใ‚นใƒˆๅใ€ๅ…จไฝ“ใŒใƒใƒƒใƒ•ใ‚กใซใ‚ณใƒ”ใƒผใ•ใ‚Œใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚

่„†ๅผฑๆ€งใŒๆ‚ช็”จใ•ใ‚Œใ‚‹ใฎใซๆบ€ใŸใ•ใ‚Œใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ๆกไปถใฏใ€ๅ…ทไฝ“็š„ใซๆฌกใฎใจใŠใ‚Šใงใ™ใ€‚

  • ใ€ŒCURLOPT_BUFFERSIZEใ€ใ‚’่จญๅฎšใ—ใฆใ„ใชใ„ใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใ€ใพใŸใฏ 65541 ๆœชๆบ€ใซ่จญๅฎšใ—ใฆใ„ใ‚‹ใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใ€‚curl ใƒฆใƒผใƒ†ใ‚ฃใƒชใƒ†ใ‚ฃ่‡ชไฝ“ใฏใ“ใฎๅ€คใ‚’100kBใซ่จญๅฎšใ™ใ‚‹ใŸใ‚ใ€็‰นๅˆฅใซใ‚ณใƒžใƒณใƒ‰ใƒฉใ‚คใƒณใงๅค‰ๆ›ดใ—ใชใ„้™ใ‚Šใฏ่„†ๅผฑใงใฏใชใ„ใ“ใจใซๆณจๆ„ใ—ใฆใใ ใ•ใ„ใ€‚
  • CURLOPT_PROXYTYPEใ‚’ CURLPROXY_SOCKS5_HOSTNAME ๅž‹ใซ่จญๅฎšใ—ใพใ™ใ€‚
  • CURLOPT_PROXYใพใŸใฏCURLOPT_PRE_PROXYใฏใ€ใ‚นใ‚ญใƒผใƒ socks5h://ใ‚’ไฝฟ็”จใ™ใ‚‹ใ‚ˆใ†ใซ่จญๅฎšใ—ใพใ™ใ€‚

ใƒใƒƒใƒ•ใ‚กใƒปใ‚ชใƒผใƒใƒผใƒ•ใƒญใƒผใ‚’ๆ‚ช็”จใ™ใ‚‹ๅฏ่ƒฝๆ€งใฎใ‚ใ‚‹ๆ–นๆณ•ใจใ—ใฆใ€ๆ”ปๆ’ƒ่€…ใŒSOCKS5็ตŒ็”ฑใงlibcurlใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใ‹ใ‚‰ใ‚ขใ‚ฏใ‚ปใ‚นใ•ใ‚Œใ‚‹ใ‚ฆใ‚งใƒ–ใ‚ตใƒผใƒใ‚’ๅˆถๅพกใ—ใ€ใƒใƒƒใƒ•ใ‚กใƒปใ‚ชใƒผใƒใƒผใƒ•ใƒญใƒผใ‚’ๅผ•ใ่ตทใ“ใ™ใฎใซๅๅˆ†ใช้•ทใ•ใฎใƒ›ใ‚นใƒˆๅใ‚’ๆŒใคLocationใƒ˜ใƒƒใƒ€ใ‚’ๅซใ‚€็ดฐๅทฅใ•ใ‚ŒใŸใƒชใƒ€ใ‚คใƒฌใ‚ฏใƒˆ๏ผˆHTTP 30xใƒฌใ‚นใƒใƒณใ‚น๏ผ‰ใ‚’่ฟ”ใ•ใ›ใ‚‹ใ“ใจใงใ™ใ€‚

Catoใฎ(lib)curlใฎไฝฟใ„ๆ–น

Catoใฏใ€ใ‚‚ใกใ‚ใ‚“libcurlใจcurlใใฎใ‚‚ใฎใ‚’่ค‡ๆ•ฐใฎ็›ฎ็š„ใงๅˆฉ็”จใ—ใฆใ„ใพใ™๏ผš

  • curlใจlibcurlใƒ™ใƒผใ‚นใฎใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใฏใ€ใ‚นใ‚ฏใƒชใƒ—ใƒˆใ‚„็คพๅ†…ใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใฎใ‚ฐใƒญใƒผใƒใƒซใชใ‚คใƒณใƒ•ใƒฉใ‚นใƒˆใƒฉใ‚ฏใƒใƒฃใงๅบƒ็ฏ„ๅ›ฒใซไฝฟ็”จใ•ใ‚Œใฆใ„ใพใ™ใ€‚
  • CatoใฎSDPใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใ‚‚libcurlใ‚’ๅฎŸ่ฃ…ใ—ใ€่ค‡ๆ•ฐใฎๆฉŸ่ƒฝใซไฝฟ็”จใ—ใฆใ„ใพใ™ใ€‚

ๅฝ“็คพใฏSOCKS5ใ‚’ไฝฟ็”จใ—ใฆใŠใ‚‰ใšใ€Catoใฎใ‚ณใƒผใƒ‰ใจใ‚คใƒณใƒ•ใƒฉใฏใ€ใ“ใฎCVEใฎใ„ใ‹ใชใ‚‹ๅฝขใซๅฏพใ—ใฆใ‚‚่„†ๅผฑใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚

Catoใซใ‚ˆใ‚‹CVEใซๅฏพใ™ใ‚‹ๅˆ†ๆžๅ›ž็ญ”

CVEใฎ่ฉณ็ดฐใจๅ…ฌ้–‹ใ•ใ‚ŒใŸPOCใซๅŸบใฅใใ€Catoใƒชใ‚ตใƒผใƒใƒฉใƒœใฎ็ ”็ฉถ่€…ใฏใ€ใ“ใ‚ŒใŒๆ‚ช็”จใ•ใ‚Œใ‚‹ๅฏ่ƒฝๆ€งใฏไธญ็จ‹ๅบฆ๏ฝžไฝŽใ„ใจ่€ƒใˆใฆใ„ใพใ™ใ€‚

ใจใฏใ„ใˆใ€ๅฝ“็คพใฏใ‚‚ใกใ‚ใ‚“ใ“ใฎCVEใซIPSใ‚ทใ‚ฐใƒใƒใƒฃใ‚’่ฟฝๅŠ ใ—ใ€ไปฎๆƒณใƒ‘ใƒƒใƒใ‚’้ฉ็”จใ™ใ‚‹ใ“ใจใงใ€ไธ–็•ŒไธญใฎCatoใซๆŽฅ็ถšใ•ใ‚ŒใŸใ‚ตใ‚คใƒˆใซไฟ่ญทใ‚’ๆไพ›ใ—ใ€ไธ–็•ŒไธญใฎCatoใซๆŽฅ็ถšใ•ใ‚ŒใŸใ™ในใฆใฎใƒฆใƒผใ‚ถใƒผใจใ‚ตใ‚คใƒˆใซๅฏพใ—ใฆใ€ๆคœๅ‡บใ‹ใ‚‰ไฟ่ญทใพใงใฎๆ™‚้–“ใ‚’1ๆ—ฅใจ3ๆ™‚้–“ใจๅฎšใ‚ใฆใ‚จใ‚ฏใ‚นใƒ—ใƒญใ‚คใƒˆใฎ่ฉฆใฟใ‚’ใƒ–ใƒญใƒƒใ‚ฏใ—ใ€14ๆ™‚้–“ๅพŒใซใฏใ™ใงใซใ‚ชใƒ—ใƒˆใ‚คใƒณไฟ่ญทใ‚’ๅˆฉ็”จใงใใ‚‹ใ‚ˆใ†ใซใ—ใฆใ„ใพใ™ใ€‚
Catoใฏใ€ๅฝฑ้Ÿฟใ‚’ๅ—ใ‘ใ‚‹ใƒใƒผใ‚ธใƒงใƒณใฏlibcurl 7.69.0ใ‹ใ‚‰8.3.0ใพใงใงใ€่ฉฒๅฝ“ใ™ใ‚‹ใ‚ตใƒผใƒใƒผใจใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใซใƒ‘ใƒƒใƒใ‚’ๅฝ“ใฆใ‚‹ใ“ใจใ‚’ๆŽจๅฅจใ—ใฆใ„ใพใ™ใ€‚ใ•ใ‚‰ใซใ€ๅ‰่ฟฐใฎใ‚ˆใ†ใซใ€่„†ๅผฑๆ€งใ‚’่ช˜็™บใ™ใ‚‹ๅฏ่ƒฝๆ€งใฎใ‚ใ‚‹CURLOPT_PROXYTYPEใ€CURLOPT_PROXYใ€ใŠใ‚ˆใณCURLOPT_PRE_PROXYใƒ‘ใƒฉใƒกใƒผใ‚ฟใฎไฝฟ็”จๆณ•ใ‚’็‰นๅฎšใ™ใ‚‹ใ“ใจใงใ€็ทฉๅ’Œใ™ใ‚‹ใ“ใจใŒๅฏ่ƒฝใงใ™ใ€‚

CVE-2023-38545ใซ้–ขใ™ใ‚‹่ฉณ็ดฐใชใ‚คใƒณใ‚ตใ‚คใƒˆใ‚„ใ€ใใฎไป–ๅคšใใฎ่ˆˆๅ‘ณๆทฑใใ‚ชใ‚ฟใ‚ฏ็š„ใชใ‚ตใ‚คใƒใƒผใ‚ปใ‚ญใƒฅใƒชใƒ†ใ‚ฃใฎ่ฉฑใซใคใ„ใฆใฏใ€ๆฌกใฎCato ใƒใƒƒใƒ‰ใ‚ญใƒฃใ‚นใƒˆใ‚’ใŠ่žใใใ ใ•ใ„๏ผˆใใ—ใฆ่ณผ่ชญใ—ใฆใใ ใ•ใ„๏ผ๏ผ‰The Ring of Defense:ใ‚ตใ‚คใƒใƒผใ‚ปใ‚ญใƒฅใƒชใƒ†ใ‚ฃใฎใƒใƒƒใƒ‰ใ‚ญใƒฃใ‚นใƒˆ๏ผˆ้Ÿณๅฃฐ็‰ˆใ‚‚ใ‚ใ‚Š๏ผ‰ใ€‚

Related Topics

Vadim Freger

Vadim Freger

Catoใฎใ‚ตใƒผใƒ“ใ‚นใ‚จใƒใƒณใ‚ธใ‚งใƒชใ‚บใƒ ๆ‹…ๅฝ“ใƒ‡ใ‚ฃใƒฌใ‚ฏใ‚ฟใƒผใ‚’ๅ‹™ใ‚ใ‚‹ใƒดใ‚กใƒ‡ใ‚ฃใƒ ใฏใ€SASEใจใ‚ตใ‚คใƒใƒผใ‚ปใ‚ญใƒฅใƒชใƒ†ใ‚ฃใฎใƒชใƒผใƒ‡ใ‚ฃใƒณใ‚ฐใ‚ซใƒณใƒ‘ใƒ‹ใƒผใจใ—ใฆใฎCatoใฎ่ฉ•ๅˆคใ‚’้ซ˜ใ‚ใ‚‹ใ“ใจใซๅฐฝๅŠ›ใ—ใฆใ„ใพใ™ใ€‚Catoใง7ๅนดไปฅไธŠใฎ็ตŒ้จ“ใ‚’ๆŒใคใƒดใ‚กใƒ‡ใ‚ฃใƒ ใฏใ€ไปฅๅ‰ใฏDevOps๏ผˆ้–‹็™บ้‹็”จ้€ฃๆบ๏ผ‰ใŠใ‚ˆใณSRE๏ผˆใ‚ตใ‚คใƒˆไฟก้ ผๆ€งใ‚จใƒณใ‚ธใƒ‹ใ‚ขใƒชใƒณใ‚ฐ๏ผ‰ใฎใƒ‡ใ‚ฃใƒฌใ‚ฏใ‚ฟใƒผใ‚’ๅ‹™ใ‚ใ€Catoใฎๅบƒ็ฏ„ใชใ‚ฐใƒญใƒผใƒใƒซใ‚ฏใƒฉใ‚ฆใƒ‰ใ‚ตใƒผใƒ“ใ‚นใจ้‹็”จใฎๅฝขๆˆใจๆŽจ้€ฒใซ้‡่ฆใชๅฝนๅ‰ฒใ‚’ๆžœใŸใ—ใพใ—ใŸใ€‚Catoใซๅ…ฅ็คพใ™ใ‚‹ๅ‰ใฏใ€Impervaใงใ•ใพใ–ใพใช็ฎก็†่ทใ‚’ๆ‹…ใ„ใ€ใƒใƒƒใƒˆใƒฏใƒผใ‚ญใƒณใ‚ฐใจใ‚ตใ‚คใƒใƒผใ‚ปใ‚ญใƒฅใƒชใƒ†ใ‚ฃใฎๅˆ†้‡Žใงๅˆใ‚ใ›ใฆ15ๅนดไปฅไธŠใฎ็ตŒ้จ“ใ‚’็ฉใฟใพใ—ใŸใ€‚

Read More