สรุปสั้น

บริษัท JetBrains ประกาศเหตุการณ์ความปลอดภัยและเร่งให้ผู้ใช้บริการ Cadence เพิกถอนหรือหมุนข้อมูลรับรองและความลับทุกชิ้นที่เคยใช้กับบริการนี้ทันที หลังพบว่าผู้โจมตีที่ยังไม่ทราบตัวตนใช้ช่องโหว่ร้ายแรงใน TeamCity ซึ่งเป็นผลิตภัณฑ์ของ JetBrains เอง เจาะเข้ามาในสภาพแวดล้อมของบริษัท ช่องโหว่ที่ถูกใช้คือ CVE-2026-63077 คะแนน CVSS 9.8 ประเภท deserialization ของข้อมูลที่ไม่น่าเชื่อถือ ซึ่งเปิดทางให้ผู้โจมตีที่ไม่ต้องยืนยันตัวตนข้ามการตรวจสอบสิทธิ์และรันคำสั่งระบบปฏิบัติการด้วยสิทธิ์ของกระบวนการ TeamCity

สิ่งที่ทำให้เหตุการณ์นี้อ่านแล้วสะดุดคือ JetBrains ยอมรับเองว่าเซิร์ฟเวอร์ตัวที่ถูกเจาะ “ควรจะได้รับการแพตช์ไปแล้ว” ตามกระบวนการจัดการช่องโหว่ของบริษัท แต่กลับไม่ได้แพตช์ และบริษัทไม่ได้อธิบายว่าเหตุใดจึงตกหล่น ทั้งที่ช่องโหว่ตัวนี้ถูกหน่วยงาน CISA ของสหรัฐฯ บรรจุเข้าแค็ตตาล็อก Known Exploited Vulnerabilities (KEV) ตั้งแต่วันที่ 5 สิงหาคม 2569 ขอบเขตความเสียหายที่ยืนยันแล้วครอบคลุมข้อมูลส่วนบุคคลของผู้ใช้ ไฟล์สำรองทั้งชุดของเซิร์ฟเวอร์ Cadence ที่ย้อนไปถึงปี 2567 บัญชีและกุญแจ AWS IAM หลายชุดรวมถึงของพนักงาน JetBrains เอง ไฟล์ในบัคเก็ต S3 และซอร์สโค้ดที่ผู้ใช้ซิงก์ขึ้นไปจาก PyCharm โดยการบุกรุกเกิดขึ้นระหว่างวันที่ 8 ถึง 24 สิงหาคม 2569 และเซิร์ฟเวอร์ api.cadence.jetbrains.com ถูกปิดไปแล้ว

รายละเอียดข่าว

เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 5 กันยายน 2569 ว่า บริษัท JetBrains กำลังเร่งเตือนผู้ใช้บริการ Cadence ให้เพิกถอนและหมุนข้อมูลรับรองทั้งหมด หลังเกิดเหตุการณ์ความปลอดภัยเมื่อเดือนสิงหาคมที่ผู้โจมตีซึ่งยังไม่ทราบตัวตนใช้ช่องโหว่ร้ายแรงที่เพิ่งถูกเปิดเผยใน TeamCity เจาะเข้าสภาพแวดล้อมของบริษัทเอง

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

Cadence คือบริการคลาวด์คอมพิวติงที่ JetBrains โฮสต์เอง เชื่อมกับ PyCharm ผ่านปลั๊กอินเสริม เพื่อให้นักพัฒนาสั่งรันงาน machine learning และงานหนัก ๆ บน GPU บนคลาวด์ได้จากภายใน IDE โดยตรง

การโจมตีอาศัยช่องโหว่ CVE-2026-63077 คะแนน CVSS 9.8 ซึ่งเป็นช่องโหว่ประเภท deserialization ของข้อมูลที่ไม่น่าเชื่อถือ เปิดทางให้ผู้โจมตีที่ไม่ต้องยืนยันตัวตนแต่เข้าถึงเซิร์ฟเวอร์ TeamCity ได้ สามารถข้ามการตรวจสอบสิทธิ์และรันคำสั่งระบบปฏิบัติการตามอำเภอใจด้วยสิทธิ์ของกระบวนการเซิร์ฟเวอร์ TeamCity ช่องโหว่นี้ถูกใช้โจมตีจริงในวงกว้างมาก่อนหน้าแล้ว โดย CISA เพิ่มเข้าแค็ตตาล็อก KEV เมื่อวันที่ 5 สิงหาคม 2569 ส่วน JetBrains ตรวจพบการถูกโจมตีเมื่อวันที่ 23 สิงหาคม 2569

ในการอัปเดตต่อ ๆ มา JetBrains ระบุว่าผู้โจมตีเข้าถึงข้อมูลในไฟล์สำรองของเซิร์ฟเวอร์ Cadence จากปี 2567 และได้สิทธิ์เข้าถึงที่อาจเปิดทางไปยังที่เก็บข้อมูลซึ่งมีข้อมูลของผู้ใช้ Cadence ในปัจจุบัน ทั้งที่อยู่อีเมล ซอร์สโค้ดโปรเจกต์ และข้อมูลรับรอง นาย Daniel Gallo ตำแหน่ง Solutions Engineering Lead ของ JetBrains กล่าวว่า “เรื่องนี้กระทบผู้ใช้กลุ่มเดียวกับที่เราติดต่อไปโดยตรงก่อนหน้านี้ ผลการตรวจสอบไม่พบผู้ใช้ที่ได้รับผลกระทบเพิ่มเติม แต่เพื่อความรอบคอบ เราจะถือว่าข้อมูลที่เก็บอยู่ตรงนั้นอาจถูกเปิดเผย”

รายการที่ JetBrains ระบุว่า “ยืนยันแล้ว” ว่าผู้โจมตีเข้าถึงหรือทำให้เสียหาย ประกอบด้วยข้อมูลส่วนบุคคลอย่างชื่อผู้ใช้ ชื่อจริง ที่อยู่อีเมล เวลาล็อกอินครั้งล่าสุด และหมายเลขไอพีที่เข้าใช้งานล่าสุด, ไฟล์สำรองทั้งชุดของเซิร์ฟเวอร์ Cadence จากปี 2567 ซึ่งมีข้อมูลรับรอง คอนฟิก อาร์ทิแฟกต์ และล็อก, บัญชีผู้ใช้ AWS IAM หลายบัญชีพร้อมข้อมูลรับรองที่ใช้กับ Cadence ซึ่งถูกดึงออกจากไฟล์สำรองปี 2567 รวมถึงบัญชี IAM ของพนักงาน JetBrains ที่ใช้บริการนี้ และไฟล์ที่เก็บอยู่ในบัคเก็ต S3 ภายในบัญชี AWS ของ JetBrains ที่ Cadence ใช้งาน

JetBrains ยังเตือนด้วยว่าผู้โจมตีอาจเข้าถึงซอร์สโค้ดที่ถูกซิงก์ขึ้นไปจากโปรเจกต์ PyCharm ไปยังเซิร์ฟเวอร์ที่ถูกเจาะ ซึ่งครอบคลุมกรณีที่ผู้ใช้อาศัย PyCharm อัปโหลดหรือซิงก์ไฟล์โปรเจกต์ไปรันบน Cadence เท่ากับว่าการกระทำเหล่านั้นอาจทำให้โค้ด ข้อมูลรับรอง หรือคอนฟิกถูกเปิดเผยไปด้วยโดยไม่ตั้งใจ ทั้งนี้ยังไม่ทราบว่าใครอยู่เบื้องหลัง โดย JetBrains ระบุว่าการบุกรุกเกิดขึ้นระหว่างวันที่ 8 ถึง 24 สิงหาคม 2569 และเซิร์ฟเวอร์ Cadence ที่ถูกเจาะคือ api.cadence.jetbrains.com ได้ถูกปิดไปแล้ว บริษัทยังได้ยกเลิกโทเคนเข้าถึงทั้งหมดที่ปลั๊กอิน JetBrains Cadence ใน PyCharm ใช้เชื่อมต่อกับ Cadence

วิธีการโจมตี

ห่วงโซ่ของเหตุการณ์นี้สั้นและตรงไปตรงมาผิดกับความเสียหายที่ตามมา ผู้โจมตีไม่ได้ต้องหลอกพนักงาน ไม่ได้ต้องขโมยรหัสผ่านใครก่อน เพียงแค่ยิงช่องโหว่ CVE-2026-63077 ใส่เซิร์ฟเวอร์ TeamCity ที่เข้าถึงได้และยังไม่ได้แพตช์ ก็ได้รันคำสั่งด้วยสิทธิ์ของกระบวนการ TeamCity ทันที ซึ่งในสภาพแวดล้อม CI/CD สิทธิ์ระดับนั้นมักเท่ากับการเข้าถึงกุญแจของระบบอื่นทั้งพวง เพราะเซิร์ฟเวอร์บิลด์คือที่ที่ข้อมูลรับรองสำหรับ deploy ถูกเก็บไว้โดยธรรมชาติ

จุดที่ขยายความเสียหายออกไปไกลกว่าตัวเซิร์ฟเวอร์คือไฟล์สำรองปี 2567 ที่ยังคงอยู่ในระบบ ไฟล์สำรองก้อนเดียวนั้นบรรจุข้อมูลรับรอง คอนฟิก อาร์ทิแฟกต์ และล็อกของยุคนั้นไว้ครบ ทำให้กุญแจ AWS IAM ที่อาจถูกเลิกใช้ไปแล้วในทางปฏิบัติแต่ไม่เคยถูกเพิกถอนจริง กลับมามีค่าอีกครั้งในมือผู้โจมตี นี่คือเหตุผลที่คำแนะนำของ JetBrains ไม่ได้จำกัดอยู่แค่ “หมุนรหัสผ่านที่ใช้อยู่” แต่ครอบคลุมถึงความลับทุกชิ้นที่เคยผ่าน Cadence

ส่วนฝั่งผู้ใช้ ความเสี่ยงเดินทางย้อนกลับผ่านปลั๊กอิน PyCharm ผู้ใช้ที่ซิงก์โปรเจกต์ขึ้นไปรันบน GPU ของ Cadence ก็ได้ส่งไฟล์ในโปรเจกต์นั้นขึ้นไปด้วย ซึ่งในโลกจริงมักมีไฟล์คอนฟิกหรือตัวแปรสภาพแวดล้อมที่มีกุญแจ API ติดไปเสมอ ผลลัพธ์คือการบุกรุกเซิร์ฟเวอร์ของผู้ให้บริการรายเดียว กลายเป็นการรั่วไหลของข้อมูลรับรองที่ชี้ไปยังบัญชีคลาวด์ คลังโค้ด และรีจิสทรีแพ็กเกจของลูกค้าแต่ละรายต่อไปอีกทอด

ข้อสังเกตหนึ่งที่ควรบันทึกไว้คือลำดับเวลาที่บริษัทให้มาไม่ลงตัวสมบูรณ์ JetBrains ระบุว่าตรวจพบการโจมตีเมื่อวันที่ 23 สิงหาคม แต่กรอบเวลาการบุกรุกที่ให้ไว้คือ 8 ถึง 24 สิงหาคม ซึ่งกินเลยวันที่ตรวจพบไปหนึ่งวัน และบริษัทไม่ได้อธิบายช่องว่างนี้ รวมถึงไม่ได้อธิบายว่าเหตุใดเซิร์ฟเวอร์ตัวนี้จึงหลุดจากรอบแพตช์ของตัวเอง ทั้งที่ช่องโหว่ถูกจัดเป็น KEV ตั้งแต่วันที่ 5 สิงหาคม

ผลกระทบ

ผู้ที่ต้องลงมือทันทีคือทุกองค์กรที่เคยใช้ Cadence รันงานบน GPU ของ JetBrains ไม่ว่าจะใช้มากหรือน้อย เพราะขอบเขตที่บริษัทประกาศไม่ได้แยกระหว่าง “ผู้ใช้ที่เพิ่งใช้” กับ “ผู้ใช้เมื่อสองปีก่อน” ไฟล์สำรองปี 2567 ทำให้ผู้ใช้เก่าอยู่ในขอบเขตความเสี่ยงด้วย

ความเสียหายที่แท้จริงจึงไม่ได้อยู่ที่ตัวบริการ Cadence แต่อยู่ที่ระบบปลายทางที่ข้อมูลรับรองเหล่านั้นเปิดประตูให้ ได้แก่ บัญชี AWS บัคเก็ต S3 สภาพแวดล้อมสำหรับ deploy รีจิสทรีแพ็กเกจและคอนเทนเนอร์ และคลังซอร์สโค้ด องค์กรที่ใช้กุญแจชุดเดียวกันข้ามระบบ หรือไม่เคยหมุนกุญแจตั้งแต่ปี 2567 จะเป็นกลุ่มที่เจ็บหนักที่สุด

อีกด้านหนึ่งคือความเสี่ยงต่อบุคคล JetBrains ระบุเองว่า “ผลที่น่าจะตามมาจากการเปิดเผยข้อมูลส่วนบุคคลคือความเสี่ยงที่เพิ่มขึ้นของฟิชชิงแบบเจาะจงเป้าหมาย วิศวกรรมสังคม การสวมรอย และการติดต่อในทางไม่พึงประสงค์หรือมุ่งร้ายอื่น ๆ โดยใช้ชื่อและอีเมลที่ได้รับผลกระทบ” ซึ่งหมายความว่านักพัฒนาที่เคยใช้ Cadence ควรระวังอีเมลที่อ้างตัวเป็น JetBrains หรือผู้ให้บริการคลาวด์เป็นพิเศษในช่วงนี้

คำแนะนำ

  • เพิกถอนและหมุนข้อมูลรับรองและความลับทุกชิ้นที่เคยถูกใช้รันงานบน Cadence หรือเก็บไว้ใน Cadence โดยไม่ต้องรอผลการสอบสวน และให้รวมถึงกุญแจเก่าที่คิดว่าเลิกใช้แล้วด้วย
  • ตรวจสอบบัญชี AWS เป็นลำดับแรก โดยเฉพาะบัญชี IAM ที่เคยผูกกับ Cadence รวมถึงสิทธิ์ บทบาท และการเข้าถึงบัคเก็ต S3 ย้อนหลังตั้งแต่วันที่ 8 สิงหาคม 2569
  • ตรวจสอบที่เก็บซอร์สโค้ดว่ามีการเปลี่ยนแปลงที่ไม่ได้รับอนุญาตในช่วงเวลาดังกล่าวหรือไม่ ทั้งคอมมิต การเปลี่ยน secrets, webhook, สิทธิ์ผู้ร่วมงาน และโทเคนเข้าถึง
  • ถือว่าผลลัพธ์ของงานทุกงานที่เคยรันบน Cadence เป็นสิ่งที่เชื่อถือไม่ได้ ทั้งข้อมูลนำเข้าและผลลัพธ์ ตามที่ JetBrains ระบุ
  • ผู้ที่ดูแลเซิร์ฟเวอร์ TeamCity ของตัวเอง ให้ตรวจสอบทันทีว่าแพตช์ CVE-2026-63077 แล้วหรือยัง และอย่าอนุญาตให้เซิร์ฟเวอร์บิลด์เข้าถึงได้จากอินเทอร์เน็ตโดยไม่จำเป็น
  • เฝ้าระวังฟิชชิงที่อ้างตัวเป็น JetBrains หรือผู้ให้บริการคลาวด์ในช่วงนี้ เนื่องจากชื่อและอีเมลของผู้ใช้ถูกเปิดเผยไปแล้ว
  • ทบทวนนโยบายการเก็บไฟล์สำรองเก่า เพราะไฟล์สำรองที่ไม่ถูกลบและไม่เคยหมุนกุญแจคือสิ่งที่ทำให้เหตุการณ์นี้ลามย้อนไปถึงข้อมูลปี 2567

Indicators of Compromise (IoCs)

ข้อมูลด้านล่างเป็นตัวบ่งชี้ที่ JetBrains เผยแพร่ โดยหมายเลขไอพีถูกใส่วงเล็บคั่นจุด (defang) เพื่อป้องกันการคลิกโดยไม่ตั้งใจ

ประเภทตัวบ่งชี้คำอธิบาย
IP150.109.230[.]104ไอพีที่พบในกิจกรรมการโจมตี
IP43.153.227[.]206ไอพีที่พบในกิจกรรมการโจมตี
IP62.210.127[.]48ไอพีที่พบในกิจกรรมการโจมตี
IP210.247.242[.]190ไอพีที่พบในกิจกรรมการโจมตี
IP15.235.225[.]205ไอพีที่พบในกิจกรรมการโจมตี
IP152.233.30[.]18ไอพีที่พบในกิจกรรมการโจมตี

พฤติกรรมที่ JetBrains แนะนำให้ไล่ตรวจย้อนหลังตั้งแต่วันที่ 8 สิงหาคม 2569 เป็นต้นมา ได้แก่ การยืนยันตัวตนหรือกิจกรรมที่ใช้ข้อมูลรับรองซึ่งเคยเก็บไว้หรือเข้าถึงได้ผ่าน Cadence, การเข้าใช้งานจากหมายเลขไอพีหรือตำแหน่งที่ไม่คาดคิด, การโคลนหรือดาวน์โหลดที่เก็บโค้ดและการคอมมิตที่ไม่คาดคิด, การเปลี่ยนแปลง secrets, webhooks, ผู้ร่วมงาน หรือสิทธิ์ในที่เก็บโค้ด, การสร้างหรือแก้ไข personal access token, โทเคน API หรือกุญแจ SSH ในบริการภายนอก, การสร้างบัญชีบริการใหม่ในระบบภายนอก, การเปลี่ยนแปลงบทบาท นโยบาย หรือสิทธิ์ IAM บนคลาวด์ที่ไม่คาดคิด, การเข้าถึงที่เก็บข้อมูลบนคลาวด์รวมถึงบัคเก็ต S3 ที่ไม่คาดคิด และการเผยแพร่หรือแก้ไขแพ็กเกจหรือรีลีสที่ไม่คาดคิด

แหล่งอ้างอิง