MS-ISAC Releases Advisory on PHP Vulnerabilities

MS-ISAC ประกาศแจ้งเตือนช่องโหว่ใน PHP หลายช่องโหว่ซึ่งส่งผลให้ผู้โจมตีสามารถรันโค้ดที่เป็นอันตรายจากระยะไกลเพื่อควบคุมระบบหรือซอฟต์แวร์ที่มีช่องโหว่ได้ โดยในขณะนี้ยังตรวจไม่พบการใช้ช่องโหว่ดังกล่าวในการโจมตี

สำหรับช่องโหว่ในรอบนี้นั้นมีการถูกค้นพบกว่าหลาย 10 รายการ โดยส่งมีความรุนแรงของช่องโหว่อยู่ในระดับสูง (High) กระทบ PHP ตั้งแต่รุ่น 7.2 (ก่อน 7.2.5), 7.1 (ก่อน 7.1.17), 7.0 (ก่อน 7.0.30) และ 5.0 (ก่อน 5.6.36)
สำหรับผู้ใช้งานหรือนักพัฒนาที่มีการใช้ซอฟต์แวร์ในรุ่นที่มีช่องโหว่อยู่นั้น MS-ISAC แนะนำให้อัปเกรดเป็นรุ่นย่อยของแต่ละเวอร์ชัน ได้แก่ 7.2.5, 7.1.17, 7.0.30 และ 5.6.36 โดยทันที รวมไปถึงให้มีการตรวจสอบควบคู่ไปด้วยว่าระบบยังคงทำงานโดยปกติ ไม่มีการเข้าถึงหรือแก้ไขข้อมูลโดยที่ไม่ได้รับอนุญาต

ที่มา : us-cert

Multiple Vulnerabilities in PHP Could Allow for Arbitrary Code Execution Edit Comment Assign More Canceled Done Export

ตรวจพบช่องโหว่หลายช่องโหว่ใน PHP ซึ่งเป็นภาษาการเขียนโปรแกรมที่ออกแบบมาเพื่อใช้ในแอ็พพลิเคชันบนเว็บที่มีเนื้อหา HTML ส่งผลให้แฮกเกอร์สามารถโจมตีรันโค้ดได้ เพื่อเปลี่ยนแปลงแก้ไขข้อมูล หรือสร้างบัญชีใหม่ได้โดยสิทธิ์ของผู้ใช้งานเต็บรูปแบบ รายละเอียดดังนี้

ความเสี่ยงที่อยู่ในระดับสูงของหน่วยงานต่างๆ

รัฐบาล:

- หน่วยงานภาครัฐขนาดใหญ่และขนาดกลาง
- หน่วยงานรัฐบาลขนาดเล็ก

ธุรกิจ

- องค์กรธุรกิจขนาดใหญ่และขนาดกลาง
- หน่วยงานธุรกิจขนาดเล็ก

ส่วนผู้ใช้งานทั่วไปๆจัดอยู่ในระดับต่ำ

สรุปทางเทคนิค:

เวอร์ชั่น 7.2.3

- Bug #49876 (Fix LDAP path lookup on 64-bit distros).
- Bug #54289 (Phar::extractTo() does not accept specific directories to be extracted). Phar :: extractTo () ไม่ยอมรับไดเรกทอรีเฉพาะที่จะแยกออก
- Bug #65414 (deal with leading slash when adding files correctly). จัดการกับเครื่องหมาย / เมื่อเพิ่มไฟล์
- Bug #65414 (deal with leading slash while adding files correctly). จัดการกับเครื่องหมาย / ขณะที่เพิ่มไฟล์
- Bug #68406 (calling var_dump on a DateTimeZone object modifies it). เรียกใช้งาน var_dump ที่ DateTimeZone
- Bug #73725 (Unable to retrieve value of varchar(max) type). ไม่สามารถดึงข้อมูลค่าของ varchar (สูงสุด) ได้
- Bug #74519 (strange behavior of AppendIterator). พฤติกรรมแปลก ๆ ของ AppendIterator
- Bug #75729 (opcache segfault when installing Bitrix). opcache segfault เมื่อติดตั้ง Bitrix
- Bug #75838 (Memory leak in pg_escape_bytea()). หน่วยความจำรั่วไหลใน pg_escape_bytea ()
- Bug #75857 (Timezone gets truncated when formatted). เวลาไม่ถูกต้อง
- Bug #75864 ("stream_isatty" returns wrong value on s390x). stream_isatty ส่งคืนค่าผิดพลาดใน s390x
- Bug #75871 (use pkg-config where available). ใช้งาน pkg-config ได้
- Bug #75882 (a simple way for segfaults in threadsafe php just with configuration). กำหนดค่า segfaults ใน threadsafe php
- Bug #75893 (file_get_contents $http_response_header variable bugged with opcache). ตัวแปร $ http_response_header ถูกบีบอัดด้วย opcache
- Bug #75916 (DNS_CAA record results contain garbage).
- Bug #75928 (Argument 2 for DateTimeZone::listIdentifiers() should accept null). อาร์กิวเมนต์ 2 ควรใช้ค่า Null ได้
- Bug #75938 (Modulus value not stored in variable). ค่าโมดูไม่ได้เก็บไว้ในตัวแปร
- Bug #75981 (Prevent reading beyond buffer start in http wrapper). ป้องกันไม่ให้อ่านนอกเหนือจากบัฟเฟอร์ที่มีค่าเริ่มต้นใน http wrapper

เวอร์ชั่น 7.0.28

- Bug #75981 (stack-buffer-overflow while parsing HTTP response). เกิดการ stack-buffer-overflow ในขณะที่มีการตอบกลับจาก HTTP

เวอร์ชั่น 5.6.34

- Bug #75981 (stack-buffer-overflow while parsing HTTP response). เกิดการ stack-buffer-overflow ในขณะที่มีการตอบกลับจาก HTTP

ระบบที่ได้รับผลกระทบ:

- PHP 7.2 ก่อนหน้า 7.2.3
- PHP 7.0 ก่อนหน้า 7.0.28
- PHP 5.0 ก่อนหน้า 5.6.34
- PHP 7.1 ก่อนหน้า 7.1.15

ข้อแนะนำ

- อัปเกรดเป็น PHP เวอร์ชันล่าสุดทันทีหลังจากการทดสอบที่เหมาะสม
- ตรวจสอบว่าไม่มีการปรับเปลี่ยนระบบโดยไม่ได้รับอนุญาตเกิดขึ้นในระบบก่อนที่จะใช้แพทช์
- ใช้หลักการสิทธิพิเศษน้อยที่สุดในทุกระบบและบริการ
- เตือนให้ผู้ใช้ไม่เข้าชมเว็บไซต์หรือทำตามลิงก์ที่มาจากแหล่งที่ไม่รู้จักหรือไม่น่าเชื่อถือ

ที่มา : cisecurity

PHP Community Takes Steps to Stop Installation of Libraries with Unpatched Bugs

กลุ่มนักพัฒนาซึ่งใช้ PHP เป็นภาษาหลักกำลังพยายามเรียกความมั่นใจและลบล้างคำปรามาสว่า "PHP ไม่ปลอดภัย" อีกครั้ง โดยในรอบนี้นั้นมาพร้อมกับแพ็คเกจบน Compoerser "Roave/SecurityAdvisories" ที่สามารถช่วยให้นักพัฒนาอื่นๆ สามารถตรวจสอบได้ว่า dependency หรือ library ที่มีการใช้งานในแอปนั้นมีช่องโหว่ด้านความปลอดภัยหรือไม่ รวมไปถึงป้องกันไม่ให้มีการติดตั้งลงในระบบ production ด้วย

Roave/SecurityAdvisories นั้นอ้างอิงฐานข้อมูลช่องโหว่มาจาก repository ชื่อดัง "FriendsOfPHP/security-advisories" ซึ่งบันทึกรายละเอียดของช่องโหว่เอาไว้และยังมีการอัปเดตโดยกลุ่มนักพัฒนาอย่างสม่ำเสมอ

นักพัฒนาที่สนใจในการใช้งาน Roave/SecurityAdvisories สามารถตรวจสอบวิธีการติดตั้งและขั้นตอนการใช้งานเบื้องต้นได้จาก https://github.

Multiple Vulnerabilities in PHP Could Allow for Arbitrary Code Execution

CIS ออกประกาศการค้นพบช่องโหว่หลายช่องโหว่บนซอฟต์แวร์ PHP เมื่อช่วงต้นเดือนที่ผ่านมา โดยช่องโหว่ที่ร้ายแรงที่สุดนั้นส่งผลให้ผู้โจมตีสามารถรันโค้ดที่เป็นอันตรายในระบบได้

ในการประกาศนี้นั้นมีจำนวนช่องโหล่รวมกันถึง 54 รายการ กระทบ PHP ก่อนหน้า 7.2.1 สำหรับตระกูล 7.2, ก่อนหน้า 7.1.13 สำหรับตระกูล 7.1, ก่อนหน้า 7.0 สำหรับตระกูล 7.0.27 และก่อนหน้า 5.6.33 สำหรับตระกูล 5.0

ในขณะนี้ยังไม่มีการตรวจพบการใช้ช่องโหว่ดังกล่าวในการโจมตี แต่อย่างไรก็ตามการอัปเดตซอฟต์แวร์จากรุ่นที่มีช่องโหว่ให้เป็นรุ่นล่าสุดที่ไม่มีช่องโหว่ก็เป็นข้อปฏิบัติด้านความปลอดภัยที่ควรดำเนินการอย่างเร่งด่วน

ที่มา : CIS

USN-3382-2: PHP vulnerabilities

Ubuntu ปล่อยอัพเดทเพื่ออุดช่องโหว่ใน PHP โดยมีรายละเอียดของช่องโหว่ดังนี้

CVE-2016-10397: ช่องโหว่ที่พบว่า PHP URL parser มีการทำงานที่ผิดปกติกับตัว URI ทำให้ผู้ที่โจมตีสามารถใช้ช่องโหว่นี้เพื่อหลบหลีกการตรวจสอบ hostname-specific URL ได้

CVE-2017-11143: ช่องโหว่ที่พบว่ามีการทำงานที่ผิดปกติของ PHP กับ Boolean Parameter บางตัว เมื่อเป็น unserialized data ทำให้ผู้ที่โจมตีสามารถใช้เพื่อทำให้ PHP เกิด crash และใช้การไม่ได้(Denial of Service)

CVE-2017-11144: ช่องโหว่นี้ถูกพบโดย Sebastian Li, Wei Lei, Xie Xiaofei, and Liu Yang พบว่า PHP มีการทำงานที่ผิดปกติในการจัดการ OpenSSL sealing function ซึ่งผู้ที่โจมตีสามารถใช้เพื่อทำให้ PHP ใช้การไม่ได้เช่นกัน (Dos)

CVE-2017-11145: Wei Lei และ Liu Yang พบอีกช่องโหว่ใน extension ที่เกี่ยวกับตัววันที่ของ PHP ในการจัดการหย่วยความจำ(Memory) ซึ่งส่งผลให้ผู้ที่โจมตีสามารถเข้าถึงข้อมูลสำคัญของเซิร์ฟเวอร์ได้

CVE-2017-11147: พบช่องโหว่ของการจัดเก็บไฟล์แบบ PHAR ใน PHP ซึ่งผู้โจมตีสามารถใช้เพื่อทำให้ PHP ใช้งานไม่ได้ หรือเข้าถึงข้อมูลสำคัญจากตัวเซิร์ฟเวอร์ได้ โดยช่องโหว่ตัวนี้จะมีผลกระทบกับแค่ Ubuntu 14.04 LTS

CVE-2017-11628: Wei Lei และ Liu Yang พบช่องโหว่ที่การทำ parsing ไฟล์สกุล .ini ซึ่งผู้โจมตีสามารถใช้เพื่อทำให้ PHP ใช้งานไม่ได้ (Dos)

และช่องโหว่สุดท้ายคือตัว PHP mbstring ในการทำงานกับ Regular Expressions บางตัว ซึ่งทำให้ผู้โจมตีสามารถทำให้ PHP เกิดการ crash และใช้งานไม่ได้ หรือทำการรัน arbitrary code (CVE-2017-9224, CVE-2017-9226, CVE-2017-9227, CVE-2017-9228, CVE-2017-9229)

ข้อแนะนำคือให้ทำการอัพเดทเวอร์ชัน โดยขั้นตอนในการอัพเดทสามารถดูได้จากลิงค์ด้านล่างนี้ (https://wiki.

PHP Adds Support for Next-Gen Password Hashing Algorithm Argon2

PHP 7.2 เพิ่มการรองรับฟังก์ชันแฮช Argon2 พร้อมแทนที่ Mcrypt ด้วย Libsodium

PHP ประกาศการเปลี่ยนแปลงด้านความปลอดภัยใหม่เมื่อช่วงปลายเดือนที่ผ่านมาโดยการเปลี่ยนแปลงนี้นั้นมีประเด็นสำคัญคือการโละของเก่าทิ้งไปและแทนที่ด้วยของใหม่ที่ดีและปลอดภัยกว่าเดิม

PHP 7.2 จะมาพร้อมกับฟังก์ชันแฮช Argon2 ซึ่งเป็นฟังก์ชันแฮชที่ชนะการแข่งขัน Password Hashing Competition จากฟังก์ชันแฮชกว่า 23 ฟังก์ชันที่เข้าร่วมการแข่งขัน อีกทั้งได้รับการรับรองจาก IETF ฟีเจอร์สำคัญของ Argon2 คือการปรับปรุงเพื่อให้ทนทานต่อความพยายามในการ brute force ค่าแฮชด้วย GPU และมีการปรับปรุงเพื่อให้อัลกอริธึมมีความทนทานต่อการโจมตีแบบ side channel attack ซึ่งในภาพรวมนั้น Argon2 เป็นตัวเลือกที่ดีกว่า Bcrypt ที่นิยมใช้กันอยู่ในปัจจุบัน

นอกเหนือจากการเพิ่มอัลกอริธึมใหม่แล้ว PHP 7.2 ยังมีการนำไลบรารี Mcrypt ซึ่งเป็นไลบรารีการเข้ารหัสที่มีการใช้งานมาอย่างยาวนานออกและแทนที่ด้วย Libsodium ซึ่งมีความทันสมัยกว่าและมีประสิทธิภาพการทำงานที่ดีกว่า โดย PHP นับว่าเป็นภาษาโปรแกรมมิ่งภาษาแรกที่ฝังไลบรารีสำหรับการเข้ารหัส Libsodium ไว้ในตัวมันเองแทนที่จะใช้เป็นปลั๊กอินไลบรารีแบบภาษาอื่นๆ

นักพัฒนาที่สนใจความปลอดภัยที่เพิ่มมากขึ้นสามารถทดลองใช้และตรวจสอบข้อมูลของ PHP 7.2 ได้จาก http://php.

PHP ransomware attacks blogs, websites, content managers and more…

เว็บไซต์ NakedSecurity ของ Sophos ได้ออกมาเล่าถึงเรื่องราวของมัลแวร์ตระกูล Troj/PHPRansm-B ที่โจมตีเว็บไซต์ต่างๆ ที่ใช้ PHP โดยเฉพาะ CMS ชื่อดังอย่าง WordPress, Drupal และ Joomla โดยการโจมตีผ่านการฝังไฟล์ index.

Biggest Free Hosting Company Hacked; 13.5 Million Plaintext Passwords Leaked

นิตยสาร Forbes ได้รายงานว่า 000Webhost ผู้ให้บริการฟรีโฮสติ้งถูกแฮกตั้งแต่เดือนมีนาคม 2015 ที่ผ่านมา ส่งผลกระทบให้ข้อมูลต่างๆ เช่น ชื่อผู้ใช้, รหัสผ่านที่ไม่ได้เข้ารหัส, อีเมล์ และ IP Address จำนวนกว่า 13.5 ล้านบัญชีของลูกค้าหรือผู้ใช้บริการโฮสติ้งได้ถูกขโมยออกไป

ผู้ให้บริการ 000Webhost ได้ออกมายอมรับผ่าน Facebook page แล้วว่า ถูกแฮกจริง โดยให้รายละเอียดว่าแฮกเกอร์ได้ใช้ช่องโหว่ของ PHP เวอร์ชั่นเก่าโจมตีเข้ามาสำเร็จ และทำการอัพโหลดไฟล์ที่อันตรายลงบนเซิร์ฟเวอร์ ทำให้แฮกเกอร์สามารถเข้าถึงระบบต่างๆ ได้ รวมไปถึงฐานข้อมูลทั้งหมดที่มีข้อมูลของลูกค้าอยู่

อย่างไรก็ตาม 000Webhost ได้ออกมาบอกว่า จะเอาไฟล์ที่อันตรายออกจากโฮสติ้งทันที และจะเปลี่ยนรหัสผ่านทั้งหมดของบัญชีลูกค้าที่ได้รับผลกระทบ รวมไปถึงเพิ่มความปลอดภัยของรหัสผ่านโดยการเข้ารหัส เพื่อป้องกันการถูกโจมตีในอนาคต

ที่มา : thehackernews

PHP has fixed several vulnerabilities allowing remote code execution

ทีมนักพัฒนา PHP ได้ออกเวอร์ชั่นใหม่ เพื่อแก้ไขช่องโหว่ในระดับที่สำคัญ ทำให้แฮกเกอร์โจมตีด้วยวิธี remote code execution ได้ โดยช่องโหว่ดังกล่าวได้ระบุให้เป็น CVE-2014-3669 ซึ่งแฮกเกอร์จะ remote code เข้ามาจนทำให้ข้อมูลที่อยู่ในหน่วยความจำเต็ม (overflow) ช่องโหว่นี้เกิดขึ้นกับ windows 32 bit เท่านั้น

phpinfo() Type Confusion Infoleak Vulnerability and SSL Private Keys

รายงานช่องโหว่ความปลอดภัยของ PHP จากบริษัท SektionEins GmbH แสดงช่องให้เห็นว่าฟังก์ชั่น phpinfo มีปัญหาความปลอดภัย ทำให้แฮกเกอร์ที่สามารถรันโค้ดได้ สามารถอ่านหน่วยความจำจุดใดๆ ก็ได้ในโปรเซส

ทีมงาน SektionEins สาธิตให้ดูด้วยการรันสคริปต์เพื่อดึงกุญแจ SSL จาก mod_ssl ที่รันภายใต้โปรเซส Apache ตัวเดียวกัน ทำให้แฮกเกอร์ที่รันสคริปต์ในเครื่องได้สามารถดึงกุญแจ SSL ออกมาได้ทันที แม้จะเป็นเพียงแอพพลิเคชั่นหนึ่งที่ไม่มีสิทธิจัดการเซิร์ฟเวอร์ก็ตามที

ทาง SektionEins ระบุว่าได้ส่งปัญหานี้ไปยัง PHP ตั้งแต่หลายสัปดาห์ก่อน และทางทีมงาน PHP ไม่ได้ตอบกลับอะไรมา เพียงแต่นำแพตช์ไปใส่ให้กับ PHP 5.4 และ 5.5 เงียบๆ แต่ PHP 5.3 ที่มีบั๊กเดียวกันนั้นหมดซัพพอร์ตไปตั้งแต่ปลายปีที่แล้ว และตอนนี้เซิร์ฟเวอร์ทั้งหมดก็เสี่ยงกับปัญหานี้

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

ที่มา : Sektioneins