นาย Donncha O’Cearbhaill พบช่องโหว่ Client-side exploit ใน Crash Report ของ Ubuntu ที่มีการเปิดไฟล์ .crash แบบ auto โดย default

Apport ซึ่งเป็นตัวอ่านและเขียน Custom Report โดยมี CrashDB Configuration อยู่ที่ /etc/apport/crashdb.conf.d โดยปัญหาอยู่ที่ตัว Configuration เองมีการโหลด Code python เข้าไปใช้งานด้วย

screen-shot-2559-12-15-at-14-41-49

โดยใน Configuration มีการตั้งเงื่อนไขว่า หากเจอ ‘{‘ เป็นตัวเริ่มต้น Apport จะเรียกใช้งาน eval() ด้วยค่าของ crashDB field ของไฟล์อีกที. โดย eval() จะอ่านค่าที่ส่งเข้ามาเป็น input แล้วถือว่าเป็น python expression จากนั้นจะรันคำสั่ง command อีกที

ตัวอย่าง Exploit ที่ใช้สำหรับการทดสอบครับ

screen-shot-2559-12-15-at-14-42-09

ผลกระทบนี้คือ Code Execution

เวอร์ชั่นที่ได้รับผลกระทบคือ Ubuntu 12.10 – Ubuntu 14.04

Source:: Donna website