ข้ามไปยังเนื้อหา
ย้อนข่าวที่เราพลาด: คีย์ CA ของ eMudhra มีแค่ 8 บิต และ git กับ curl บน macOS ยังเชื่อใบรับรองชุดนี้อยู่
ช่องโหว่

ย้อนข่าวที่เราพลาด: คีย์ CA ของ eMudhra มีแค่ 8 บิต และ git กับ curl บน macOS ยังเชื่อใบรับรองชุดนี้อยู่

อ่าน 5 นาที ที่มา: we-have-a-problem.com

หมายเหตุ: นี่เป็นข่าวย้อนหลัง เหตุการณ์เริ่มเมื่อ 17 ต.ค. และเปิดเผยสาธารณะ 20 ต.ค. เราพลาดข่าวนี้ไปในตอนนั้น และเพิ่งเจอระหว่างตรวจ advisory ของ pypi-publish ที่นำมาเขียนตอนนี้เพราะงานแก้ยังไม่จบ และเครื่องมือจำนวนมากต้องอัปเดตเอง

นักวิจัยชื่อ Wayne แจ้ง root program ว่าคีย์ส่วนตัวของ intermediate CA 8 ใบของ eMudhra ถูกกู้ได้ ทั้งหมดเชื่อมไปถึง root ที่ Mozilla, Microsoft, Apple และ Chrome เชื่อถือ ผู้ที่ถือคีย์เหล่านี้ออกใบรับรองปลอมของเว็บใดก็ได้ และถ้าอยู่บนเส้นทางเครือข่ายก็ดักหรือแก้ทราฟฟิก HTTPS ของไคลเอนต์ที่ยังเชื่อใบเหล่านี้ได้

ที่แปลกคือไม่มีใครต้องขโมยคีย์ Scott Helme กู้คืนคีย์ทั้งหมดจากใบรับรองสาธารณะได้ในเวลาไม่ถึงวินาที

คีย์ขนาด 8 บิต

คีย์ P-384 ปกติเป็นตัวเลขสุ่มขนาด 384 บิต แต่คีย์ของ eMudhra มีศูนย์นำหน้า 47 ไบต์ เหลือค่าจริงแค่ไบต์เดียว ใบ EM OV TLS CA - G3C มีคีย์ส่วนตัวเท่ากับ 4 จึงลองค่าได้จบในไม่เกิน 255 ขั้น

  • ชุดนี้มีใบสำหรับ TLS 6 ใบ และ code signing 2 ใบ สร้างเมื่อเมษายน 2025
  • คีย์จึงคำนวณได้มานานราว 17 เดือนก่อนถูกพบ และไม่มีทางรู้ว่ามีคนทำไปแล้วหรือไม่
  • Sectigo เคย cross-sign ใบกลุ่มนี้ด้วย การลบ root ของ eMudhra อย่างเดียวจึงยังไม่ครบในบางระบบ
  • เบราว์เซอร์หลักบังคับ Certificate Transparency และไม่พบใบที่ออกจาก CA เหล่านี้ใน log จึงไม่น่าถูกโจมตี แต่ไคลเอนต์ส่วนใหญ่นอกเบราว์เซอร์ไม่ตรวจ CT

eMudhra ระบุว่าเพิกถอนภายใน 14 ชั่วโมงหลังพบ ไม่มีการออกใบระดับปลายทางจาก CA เหล่านี้ และโครงสร้างไม่ได้ถูกเจาะ จากนั้นเมื่อ 22 ต.ค. บอร์ดตัดสินใจถอนตัวจากธุรกิจ SSL/TLS ระดับโลก ส่วนบั๊กการสอบสวนใน Mozilla Bugzilla ยังเปิดอยู่ ณ 1 พ.ย. และผู้ร่วมตรวจสอบยังถามหาคำอธิบายเชิงลึกว่าคีย์ถูกสร้างผิดได้อย่างไร

ใครยังเสี่ยง

Firefox และ Chrome บล็อกตั้งแต่ 17 ต.ค., แพลตฟอร์ม Microsoft 20 ต.ค. และ Apple 22 ต.ค. แต่การเพิกถอนไม่ช่วยไคลเอนต์ที่ไม่ตรวจ revocation ซึ่งรวมถึง curl, Python, Node, Go, Java, git, package manager และแอป Electron ที่ฝัง CA bundle ของตัวเอง

จุดที่ยังน่าห่วงที่สุดคือ macOS หน้าติดตามเหตุการณ์ระบุว่า ณ 28 ต.ค. เครื่องมือที่ Apple ให้มา ได้แก่ git, curl และ python3 ยังตรวจกับ /etc/ssl/cert.pem โดยไม่เช็ก revocation และ macOS 27.2 ที่ออกเมื่อ 26 ต.ค. ไม่ได้แก้ปัญหา ซ้ำยังเขียนทับ workaround ที่ผู้ใช้ทำไว้ สำหรับ git ความเสี่ยงคือ clone หรือ pull ผ่าน HTTPS แล้วได้โค้ดที่ผู้โจมตีเลือก และ token ที่ส่งไปอาจถูกดักได้

ตรวจและแก้อย่างไร

รันเพื่อตรวจเครื่องของคุณ ถ้าขึ้น certificate error แปลว่าปลอดภัย:

curl https://dv-g3b-noct-emudhra.we-have-a-problem.com/
git ls-remote https://git-emudhra.we-have-a-problem.com/check.git

เวอร์ชันที่แก้แล้วตามตารางของหน้าติดตามเหตุการณ์และประกาศของ Python:

ซอฟต์แวร์เวอร์ชันขั้นต่ำ
certifi2026.10.19
pip / uv26.2.2 / 0.13.6
Python3.15.2, 3.14.10, 3.13.18, 3.12.16, 3.11.18
Node.js26.12.1, 24.22.1, 22.23.4
Go1.27.3, 1.26.10
Electron44.9.1, 43.8.1, 42.11.16
Docker Engine / CLI29.9.2
GitHub CLI2.102.1
Claude Code2.1.303
pypa/gh-action-pypi-publish1.14.3
  • Linux: อัปเดต ca-certificates ตามดิสโทร
  • คอนเทนเนอร์: rebuild โดยปิด layer cache ไม่อย่างนั้น image เดิมจะยังมี bundle เก่า
  • virtualenv เก่า: อัปเดต pip และ uv ทุกตัว Python 3.10 ลงไปหมดอายุแล้วและไม่ได้แพตช์
  • macOS: ทำตามขั้นตอนลบ root ใน หน้าติดตามเหตุการณ์ และตรวจซ้ำหลังอัปเดตระบบทุกครั้ง ถ้าใช้ macOS runner ใน CI ให้นับเป็นความเสี่ยงของ supply chain ด้วย
  • ยังรอแพตช์ตามตารางล่าสุด: OpenJDK, containerd, certbot, Bottlerocket

มุมมอง AI Curator

เหตุนี้สะท้อนว่า ecosystem ความปลอดภัยของเราตรวจรูปแบบได้ดี แต่ไม่ได้ตรวจความสุ่ม คีย์ที่มีค่าเท่ากับ 4 ผ่านการตรวจโครงสร้างทั้งหมดเพราะเป็นจุดบนเส้นโค้งที่ถูกต้อง และ CA ก็ใช้งานมาเป็นปีโดยไม่มีใครลองคูณ G ดูสักครั้ง การตรวจแบบง่าย ๆ นี้ควรเป็นมาตรฐานของ root program ได้แล้ว

อีกบทเรียนคือช่องว่างระหว่างเบราว์เซอร์กับทุกอย่างที่เหลือ วงการลงทุนกับ CRLite และ CT จนเบราว์เซอร์ปลอดภัยในไม่กี่ชั่วโมง แต่ CI, installer แบบ curl | sh และ API ฝั่งเซิร์ฟเวอร์ ซึ่งถือ secret สำคัญกว่า ยังต้องรอ rebuild กันเอง องค์กรในไทยที่ใช้ image เก่าหรือ proxy ตรวจ TLS ควรเช็กด้วย เพราะถ้า proxy ยังเชื่อใบเหล่านี้ เครื่องทุกตัวหลัง proxy ก็เสี่ยงตามแม้จะแพตช์แล้ว

ฝั่ง Apple น่าผิดหวังที่สุด เมื่อโปรเจกต์หลายสิบราย ซึ่งหลายรายดูแลโดยอาสาสมัคร แก้เสร็จไปตั้งแต่หลายวันก่อน แต่เครื่องมือที่นักพัฒนาใช้ทุกวันยังรอ “การอัปเดตในอนาคต” ถ้าทีมของคุณใช้ Mac ก็ให้เพิ่มคำสั่งตรวจสองบรรทัดข้างบนในสคริปต์ตั้งเครื่องไปเลย

แหล่งข่าว

บทความนี้เรียบเรียงจากแหล่งข่าวต้นทาง — we-have-a-problem.com

เนื้อหาบน blog นี้สร้างโดย AI โดยมีการกำกับบรรณาธิการจากมนุษย์

อ่านเพิ่มในหมวด ช่องโหว่

สรุปช่องโหว่รอบนี้: LXD CVSS 10, sandbox ของ Prefab UI บน FastMCP, Beta9, pgAdmin และ Apache Wicket 19 CVE
ช่องโหว่

สรุปช่องโหว่รอบนี้: LXD CVSS 10, sandbox ของ Prefab UI บน FastMCP, Beta9, pgAdmin และ Apache Wicket 19 CVE

รวมช่องโหว่ระดับวิกฤตในโครงสร้างที่นักพัฒนาใช้: LXD ยอมรับการยืนยันตัวตนปลอมจากใบรับรองสาธารณะ, Prefab UI หลุด sandbox จากโค้ดที่ LLM เขียน, Beta9 ให้ tenant ข้ามไป worker, pgAdmin มีทางรันคำสั่งบน host อีกรอบ และ Wicket แก้ 19 CVE ทั้งหมดยังไม่อยู่ใน CISA KEV

· อ่าน 4 นาที
ลิงก์แชร์ ChatGPT ลิงก์เดียวยึดบัญชีได้ ต้นตอคือ MathLive ไลบรารีที่มียอดดาวน์โหลดกว่า 4 แสนต่อสัปดาห์ เพิ่งออกแพตช์ 31 ต.ค.
ช่องโหว่

ลิงก์แชร์ ChatGPT ลิงก์เดียวยึดบัญชีได้ ต้นตอคือ MathLive ไลบรารีที่มียอดดาวน์โหลดกว่า 4 แสนต่อสัปดาห์ เพิ่งออกแพตช์ 31 ต.ค.

Parameter Labs เปิดเผยเมื่อ 28 ต.ค. ว่าลิงก์แชร์ ChatGPT สามารถรัน JavaScript ในเซสชันของคนเปิด อ่านแชตส่วนตัวและส่งข้อมูลออกนอกได้ OpenAI แก้แล้วเมื่อ 26 ต.ค. แต่ไลบรารี MathLive ที่เป็นจุดเริ่มต้นเพิ่งออกการแก้ด้านความปลอดภัยเมื่อ 31 ต.ค.

· อ่าน 5 นาที
ช่องโหว่ GitLab CVSS 10 ถูกใช้โจมตีจริงแล้ว — Alpine Linux อัปเกรดแล้วยังโดน เพราะตัวแก้อยู่ใน Ruby
ช่องโหว่

ช่องโหว่ GitLab CVSS 10 ถูกใช้โจมตีจริงแล้ว — Alpine Linux อัปเกรดแล้วยังโดน เพราะตัวแก้อยู่ใน Ruby

CVE-2026-97229 ช่องโหว่ RCE คะแนน 10.0 ใน GitLab เข้า CISA KEV เมื่อ 29 ต.ค. ส่วน Alpine Linux เล่าว่าถูกโจมตีช่วง 20–21 ต.ค. และแม้อัปเกรดแล้วก็ยังมีช่องโหว่ เพราะ image ของตัวเองใช้ Ruby ที่ไม่มีแพตช์ จึงสร้าง GitLab ใหม่ทั้งหมด

· อ่าน 4 นาที