Share

แฮกเกอร์ใช้ช่องโหว่ใน GitHub Action ฝังโค้ดอันตรายขโมยข้อมูลจาก 218 Repo

Last updated: 25 Mar 2025
68 Views
สรุปข้อมูล
พบเหตุการณ์ห่วงโซ่การโจมตีที่ใช้ประโยชน์จาก GitHub Action ซึ่งเป็นเครื่องมือ CI/CD สำหรับ GitHub Flow ในการ Integrate และ Deploy โค้ดไปยังแอปพลิเคชันคลาวด์ รวมไปถึงการทดสอบ ติดตาม และจัดการโค้ดที่เปลี่ยนแปลงไป โดยเริ่มต้นการโจมตีไปที่โปรเจค Open-source ของ Coinbase ชื่อ "agentkit" อย่างไรก็ตามแฮกเกอร์ไม่สามารถเข้าถึง Secret และแพ็คเกจภายในของ Coinbase ได้ จึงเปลี่ยนเป้าหมายโจมตี GitHub Action ที่นิยมใช้งานกันอย่างแพร่หลาย ผ่านช่องโหว่ CVE-2025-30066 และ CVE-2025-30154 แทน เพื่อขโมยข้อมูลส่วนตัวต่าง ๆ เช่น ข้อมูล Credential อาทิ ชื่อผู้ใช้ รหัสผ่าน และ Token
 
รายละเอียดการโจมตี
แฮกเกอร์ใช้ประโยชน์จากช่องโหว่ใน "reviewdog/action-setup" และ "tj-actions changed-files" ซึ่งเป็น GitHub Actions ในการฝัง Payload ที่รันโค้ดอันตรายบน Runners ของ GitHub Payload ดังกล่าวจะ Dump หน่วยความจำของ Runner และ Environment Variable ออกมาใน Log ซึ่งอาจมี Secrets และ Tokens อยู่ด้วย เนื่องจาก Runners ใช้ Environment Variable เก็บ Credential เช่น AWS Keys, GITHUB_TOKEN, NPM Tokens ฯลฯ ช่องโหว่ที่ใช้ในการโจมตีมีรายละเอียดดังนี้:
  • CVE-2025-30066 (คะแนน CVSS 8.6/10 ระดับความรุนแรง High) เป็นช่องโหว่ที่แฮกเกอร์สามารถ Remote ค้นหาใน Secret ได้โดยการอ่าน Logs ของ GitHub Actions โดยเวอร์ชันที่ได้รับผลกระทบของ "tj-actions/changed-files" ได้แก่ ตั้งแต่เวอร์ชัน 1 ถึงก่อนเวอร์ชัน 46 เนื่องจากแฮกเกอร์แก้ไขโค้ดให้ชี้ไปที่ Commit รหัส 0e58ed8 ซึ่งมีโค้ดอันตรายชื่อว่า "updateFeatures" อยู่
  • CVE-2025-30154 (คะแนน CVSS 8.6/10 ระดับความรุนแรง High) เป็นช่องโหว่ใน "reviewdog/action-setup" เวอร์ชัน 1 ซึ่งเป็น GitHub Action ที่ใช้สำหรับติดตั้งเครื่องมือ reviewdog โดยแฮกเกอร์ฝังโค้ดที่อันตรายเพื่อทำการ Dump Secrets ลงใน GitHub Actions Workflow Logs นอกจากนี้ยังมี GitHub Actions อื่น ๆ ที่ใช้ reviewdog ได้รับผลกระทบด้วย ไม่ว่าจะใช้เป็นเวอร์ชันใดหรือจะ Pin แบบใดก็ตาม ได้แก่
    • "reviewdog/action-setup"
    • "reviewdog/action-shellcheck"
    • "reviewdog/action-composite-template"
    • "reviewdog/action-staticcheck"
    • "reviewdog/action-ast-grep"
    • "reviewdog/action-typos"

โดยมีการคาดคะเนว่าจุดเริ่มต้นของการโจมตี "tj-actions/changed-files" อาจเริ่มจาก reviewdog/action-setup เนื่องจาก Action "tj-actions/eslint-changed-files" ซึ่งเป็น Dependency ของ "tj-actions/changed-files" ที่มีการใช้งาน "reviewdog/action-setup" เพราะฉะนั้นแฮกเกอร์เสมือนใช้ "reviewdog/action-setup" เป็นเหมือนทางผ่านไปยัง "tj-actions/changed-files" และใช้ Personal Access Token (PAT) ที่ได้จากการ Dump หน่วยความจำออกมาเพื่อ Push โค้ด อันตราย กลับเข้า Repository จากนั้น Action ที่แก้ไขก็ถูกใช้ใน Workflow ของผู้ใช้ทั่วไปที่ไม่รู้ตัวว่ามี Payload แฝงอยู่

รูปที่ 1: ตัวอย่างการโจมตี

 

ผลกระทบจากการโจมตี

จากการโจมตีโดยใช้ช่องโหว่ดังกล่าวส่งผลให้เกิดการรั่วไหลของข้อมูลต่าง ๆ เช่น ข้อมูล Credential ของ DockerHub, npm,  AWS และ GitHub ไม่ว่าจะเป็น Password, Token หรือ Access Key ซึ่งแฮกเกอร์อาจใช้ข้อมูล Credential ต่าง ๆ ในการขยายขอบเขตโจมตีเพิ่มเติมได้

 

สรุปการโจมตี

การโจมตีเริ่มจากแฮกเกอร์พยายามเข้าถึง GitHub Action ที่นิยมใช้งานกันทั่วไป เช่น reviewdog/action-setup และ tj-actions/changed-files เพื่อฝังโค้ดหรือ Payload ที่อันตรายไว้ในการขโมยข้อมูลต่าง ๆ จาก Repository ที่ใช้งาน Action นี้รวมไปถึง Action ที่เกี่ยวข้องด้วย

 

คำแนะนำ

  • อัปเดต "tj-actions/changed-files" และ "reviewdog/action-setup" เป็นเวอร์ชันที่ปลอดภัยหรือล่าสุด
  • ติดตามและปฏิบัติตามวิธีการแก้ไขปัญหาตามประกาศของ GitHub
  • ตรวจสอบ GitHub Action ก่อนใช้งานจริง
  • ไม่ใช้ Actions แบบ Reference ด้วย Tag ที่เปลี่ยนแปลงได้ง่าย เช่น "@v1" และ "@latest"
  • แนะนำให้ Pin ด้วย Commit SHA Hash เฉพาะ

 

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

https://thehackernews.com/2025/03/github-supply-chain-breach-coinbase.html

https://www.wiz.io/blog/new-github-action-supply-chain-attack-reviewdog-action-setup

https://unit42.paloaltonetworks.com/github-actions-supply-chain-attack/

https://nvd.nist.gov/vuln/detail/CVE-2025-30154

https://nvd.nist.gov/vuln/detail/CVE-2025-30066


Related Content
Compare product
0/4
Remove all
Compare