Multiple Vulnerabilities in PHP Could Allow for Arbitrary Code Execution

PHP ประกาศแพตช์ช่องโหว่ด้านความปลอดภัย 7 รายการในรุ่น 7.1.19 และ 7.2.7 วันนี้โดยช่องโหว่ที่ร้ายแรงสูงสุดใน 7 รายการนั้นสามารถทำให้ผู้โจมตีรันโค้ดที่เป็นอันตรายเพื่อโจมตีระบบที่มีช่องโหว่ได้จากระยะไกล ยังไม่พบการใช้ช่องโหว่ดังกล่าวในการโจมตีจริงในตอนนี้
ผู้ใช้งานสามารถทำการอัปเดต PHP เพื่อรับแพตช์ช่องโหว่ด้านความปลอดภัยดังกล่าวได้โดยสำหรับรุ่น 7.2 นั้นให้ผู้ใช้งานอัปเดตไปยังรุ่น 7.2.7 ส่วนในรุ่น 7.1 นั้นให้ผู้ใช้งานอัปเดตไปยังรุ่น 7.1.19 PHP รุ่น 7.2 ก่อนหน้ารุ่น 7.2.7 และ PHP รุ่น 7.1. ก่อนหน้ารุ่น 7.1.19

ที่มา : Center for Internet Security

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 เท่านั้น