Angular เตือนด่วน! ช่องโหว่ร้ายแรงใน SVG (CVE-2026-22610) เปิดทาง XSS บนเว็บแอป

ช่องโหว่ใหม่ที่ถูกจัดระดับความรุนแรงสูงใน Angular กำลังสร้างแรงสั่นสะเทือนให้กับนักพัฒนาเว็บทั่วโลก ช่องโหว่นี้ถูกระบุเป็น CVE-2026-22610 และมีคะแนนความรุนแรง CVSS 8.5 ซึ่งถือว่าสูงมาก เนื่องจากเปิดโอกาสให้ผู้โจมตีสามารถ ฉีดโค้ด JavaScript (XSS) ผ่านการจัดการ SVG ที่ผิดพลาดภายใน Angular Template Compiler ฟีเจอร์ SVG ที่ดูเหมือนไม่อันตราย กลับกลายเป็นช่องทางให้โค้ดอันตรายเล็ดลอดผ่านระบบป้องกันของ Angular ได้

ปัญหานี้เกิดจากการที่ Angular ไม่รู้จักความเสี่ยงของ attribute บางตัวใน <script> ของ SVG เช่น href และ xlink:href ซึ่งควรถูกจัดการในบริบท Resource URL ที่มีความเสี่ยงสูง แต่ Angular กลับมองว่าเป็นเพียง string ธรรมดา ทำให้ผู้โจมตีสามารถใช้ template binding เช่น [attr.href]="userInput" เพื่อส่ง payload อันตราย เช่น data:text/javascript หรือสคริปต์จากภายนอกเข้าสู่ระบบได้โดยตรง

ผลกระทบของการโจมตีนี้รุนแรงมาก เพราะเมื่อโค้ดถูกฉีดเข้าไปในเบราว์เซอร์ของเหยื่อ ผู้โจมตีสามารถทำได้ตั้งแต่ ขโมย session, ดึงข้อมูลสำคัญ, ไปจนถึง สั่งให้เบราว์เซอร์ทำงานโดยไม่ได้รับอนุญาต เช่น ส่งฟอร์ม หรือคลิกปุ่มต่าง ๆ โดยที่ผู้ใช้ไม่รู้ตัว ช่องโหว่นี้จะเกิดขึ้นก็ต่อเมื่อแอปมีการใช้ <script> ภายใน SVG และผูกค่าจากผู้ใช้เข้ากับ attribute เหล่านี้โดยตรง

ทีม Angular ได้ออกแพตช์แก้ไขแล้วในหลายเวอร์ชัน ได้แก่ 19.2.18, 20.3.16, 21.0.7 และ 21.1.0-rc.0 พร้อมคำแนะนำให้หยุดใช้ dynamic binding กับ SVG <script> ทันที หากจำเป็นต้องใช้จริง ๆ ต้องตรวจสอบ input อย่างเข้มงวดด้วย allowlist เพื่อป้องกัน payload อันตรายไม่ให้หลุดรอดเข้าไปใน template

สรุปประเด็นสำคัญ
CVE-2026-22610 เป็นช่องโหว่ XSS รุนแรงใน Angular
เกิดจากการจัดการ SVG <script> ผิดพลาด
คะแนน CVSS สูงถึง 8.5

เกิดจากการ misclassify ของ Angular Template Compiler
href และ xlink:href ไม่ถูกจัดเป็น Resource URL
เปิดทางให้ payload อันตรายผ่าน template binding

ผลกระทบของการโจมตีรุนแรง
ขโมย session และข้อมูลสำคัญ
บังคับให้เบราว์เซอร์ทำงานโดยไม่ได้รับอนุญาต

มีแพตช์ออกแล้วหลายเวอร์ชัน
19.2.18 / 20.3.16 / 21.0.7 / 21.1.0-rc.0
แนะนำให้หยุดใช้ dynamic binding กับ SVG <script>

ประเด็นที่ควรระวัง
แอปที่ใช้ SVG <script> เสี่ยงสูงมาก
หากผูกค่าจากผู้ใช้โดยตรง อาจถูกโจมตีทันที

การ sanitize ของ Angular ไม่ครอบคลุมกรณีนี้
นักพัฒนาที่คิดว่าระบบป้องกันของ Angular เพียงพออาจเข้าใจผิด

การตรวจสอบ input ต้องเข้มงวด
ห้ามปล่อยให้ URL หรือ data URI จากผู้ใช้เข้าสู่ template โดยไม่กรอง

https://securityonline.info/angular-security-alert-high-severity-svg-flaw-cve-2026-22610-exposes-apps-to-xss/
🛡️ Angular เตือนด่วน! ช่องโหว่ร้ายแรงใน SVG (CVE-2026-22610) เปิดทาง XSS บนเว็บแอป ช่องโหว่ใหม่ที่ถูกจัดระดับความรุนแรงสูงใน Angular กำลังสร้างแรงสั่นสะเทือนให้กับนักพัฒนาเว็บทั่วโลก ช่องโหว่นี้ถูกระบุเป็น CVE-2026-22610 และมีคะแนนความรุนแรง CVSS 8.5 ซึ่งถือว่าสูงมาก เนื่องจากเปิดโอกาสให้ผู้โจมตีสามารถ ฉีดโค้ด JavaScript (XSS) ผ่านการจัดการ SVG ที่ผิดพลาดภายใน Angular Template Compiler ฟีเจอร์ SVG ที่ดูเหมือนไม่อันตราย กลับกลายเป็นช่องทางให้โค้ดอันตรายเล็ดลอดผ่านระบบป้องกันของ Angular ได้ ปัญหานี้เกิดจากการที่ Angular ไม่รู้จักความเสี่ยงของ attribute บางตัวใน <script> ของ SVG เช่น href และ xlink:href ซึ่งควรถูกจัดการในบริบท Resource URL ที่มีความเสี่ยงสูง แต่ Angular กลับมองว่าเป็นเพียง string ธรรมดา ทำให้ผู้โจมตีสามารถใช้ template binding เช่น [attr.href]="userInput" เพื่อส่ง payload อันตราย เช่น data:text/javascript หรือสคริปต์จากภายนอกเข้าสู่ระบบได้โดยตรง ผลกระทบของการโจมตีนี้รุนแรงมาก เพราะเมื่อโค้ดถูกฉีดเข้าไปในเบราว์เซอร์ของเหยื่อ ผู้โจมตีสามารถทำได้ตั้งแต่ ขโมย session, ดึงข้อมูลสำคัญ, ไปจนถึง สั่งให้เบราว์เซอร์ทำงานโดยไม่ได้รับอนุญาต เช่น ส่งฟอร์ม หรือคลิกปุ่มต่าง ๆ โดยที่ผู้ใช้ไม่รู้ตัว ช่องโหว่นี้จะเกิดขึ้นก็ต่อเมื่อแอปมีการใช้ <script> ภายใน SVG และผูกค่าจากผู้ใช้เข้ากับ attribute เหล่านี้โดยตรง ทีม Angular ได้ออกแพตช์แก้ไขแล้วในหลายเวอร์ชัน ได้แก่ 19.2.18, 20.3.16, 21.0.7 และ 21.1.0-rc.0 พร้อมคำแนะนำให้หยุดใช้ dynamic binding กับ SVG <script> ทันที หากจำเป็นต้องใช้จริง ๆ ต้องตรวจสอบ input อย่างเข้มงวดด้วย allowlist เพื่อป้องกัน payload อันตรายไม่ให้หลุดรอดเข้าไปใน template 📌 สรุปประเด็นสำคัญ ✅ CVE-2026-22610 เป็นช่องโหว่ XSS รุนแรงใน Angular ➡️ เกิดจากการจัดการ SVG <script> ผิดพลาด ➡️ คะแนน CVSS สูงถึง 8.5 ✅ เกิดจากการ misclassify ของ Angular Template Compiler ➡️ href และ xlink:href ไม่ถูกจัดเป็น Resource URL ➡️ เปิดทางให้ payload อันตรายผ่าน template binding ✅ ผลกระทบของการโจมตีรุนแรง ➡️ ขโมย session และข้อมูลสำคัญ ➡️ บังคับให้เบราว์เซอร์ทำงานโดยไม่ได้รับอนุญาต ✅ มีแพตช์ออกแล้วหลายเวอร์ชัน ➡️ 19.2.18 / 20.3.16 / 21.0.7 / 21.1.0-rc.0 ➡️ แนะนำให้หยุดใช้ dynamic binding กับ SVG <script> ⚠️ ประเด็นที่ควรระวัง ‼️ แอปที่ใช้ SVG <script> เสี่ยงสูงมาก ⛔ หากผูกค่าจากผู้ใช้โดยตรง อาจถูกโจมตีทันที ‼️ การ sanitize ของ Angular ไม่ครอบคลุมกรณีนี้ ⛔ นักพัฒนาที่คิดว่าระบบป้องกันของ Angular เพียงพออาจเข้าใจผิด ‼️ การตรวจสอบ input ต้องเข้มงวด ⛔ ห้ามปล่อยให้ URL หรือ data URI จากผู้ใช้เข้าสู่ template โดยไม่กรอง https://securityonline.info/angular-security-alert-high-severity-svg-flaw-cve-2026-22610-exposes-apps-to-xss/
SECURITYONLINE.INFO
Angular Security Alert: High-Severity SVG Flaw CVE-2026-22610 Exposes Apps to XSS
Angular CVE-2026-22610 (CVSS 8.5) allows XSS via SVG script attributes. Update to v21.0.7 or v20.3.16 immediately to secure your apps.
0 Comments 0 Shares 19 Views 0 Reviews