ລະວັງໄພ ຊ່ອງໂຫວ່ 0-day ໃນ MySQL ຜູ້ບໍ່ຫວັງດີສາມາດຄວບຄຸມລະບົບໄດ້ (CVE-2016-6662, CVE-2016-6663)
ປະເພດໄພຄຸກຄາມ: Intrusion
ຂໍ້ມູນທັ່ວໄປ
ນັກວິໄຈດ້ານຄວາມໝັ້ນຄົງປອດໄພແຈ້ງເຕືອນຊ່ອງໂຫວ່ໃນໂປຣແກຣມ MySQL ທີ່ສົ່ງຜົນໃຫ້ຜູ້ບໍ່ຫວັງດີສາມາດຄວບຄຸມລະບົບດ້ວຍການສັ່ງປະມວນຜົນຄຳສັ່ງອັນຕະລາຍຈາກໄລຍະໄກ (remote code execution) ຫຼື ຍົກລະດັບສິດທິຂອງຜູ້ໃຊ້ໄດ້ (privilege escalation) ຊ່ອງໂຫວ່ນີ້ມີລະຫັດ CVE-2016-6662 ແລະ CVE-2016-6663.
ຊ່ອງໂຫວ່ CVE-2016-6662 ຜູ້ບໍ່ຫວັງດີສາມາດແນບໂຄດອັນຕະລາຍເຂົ້າມາໃນໄຟລ໌ my.cnf ຊຶ່ງເປັນໄຟລ໌ທີ່ໃຊ້ຕັ້ງຄ່າການເຮັດວຽກງານຂອງໂປຣແກຣມ MySQL ສົ່ງຜົນໃຫ້ເມື່ອມີການ restart service ຂອງໂປຣແກຣມ MySQL ໂຄດທີ່ຖືກແນບເຂົ້າມາຈະຖືກເອີ້ນເຮັດວຽກພາຍໃຕ້ສິດທິຂອງ root ຊ່ອງໂຫວ່ນີ້ນັກວິໄຈໄດ້ເຜີຍແຜ່ໂຄດຕົວຢ່າງສຳລັບໃຊ້ທົດສອບການເຮັດວຽກຂອງຊ່ອງໂຫວ່ (proof-of-concept code) ອອກສູ່ສາທາລະນະແລ້ວ.
ຊ່ອງໂຫວ່ທີ່ພົບນີ້ ມີຜົນກະທົບກັບ MySQL ເວີຊັ່ນ 5.5, 5.6 ແລະ 5.7 ທີ່ຖືກຕິດຕັ້ງໂດຍໃຊ້ການຕັ້ງຄ່າເລີ່ມຕົ້ນ (default configuration) ໂດຍຈະໂຈມຕີຜ່ານຊ່ອງໂຫວ່ເຫຼົ່ານີ້ໄດ້, ຊຶ່ງຜູ້ໂຈມຕີຈະດຳເນີນຕາມຂັ້ນຕອນດັ່ງນີ້:
- ອັບໂຫຼດໄຟລ໌ໄລບຣາຣີ (library) ຂອງ MySQL ເຂົ້າມາໃນເຄື່ອງໄດ້ (ເຊັ່ນ ອັບໂຫຼດຜ່ານ FTP, SSH ຫຼື ອັບໂຫຼດຜ່ານເວັບໄຊ)
- ແກ້ໄຂ ຫຼື ຂຽນຂໍ້ມູນລົງໃນໄຟລ໌ my.cnf (ເຊັ່ນ ເຊື່ອມຕໍ່ຜ່ານ SSH ເຂົ້າມາແກ້ໄຂໄຟລ໌ ຫຼື ໂຈມຕີດ້ວຍເຕັກນິກ SQL injection ເພື່ອຂຽນໄຟລ໌)
- ແກ້ໄຂໄຟລ໌ my.cnf ໃຫ້ມີການເອີ້ນໃຊ້ໄຟລ໌ໄລບຣາຣີອັນຕະລາຍທີ່ອັບໂຫຼດເຂົ້າມາ
- Restart service ຂອງ MySQL
- ຫາກສຳເລັດ ຜູ້ໂຈມຕີມີໂອກາດໄດ້ສິດທິ root ຂອງລະບົບ
ນັກວິໄຈໄດ້ແຈ້ງຊ່ອງໂຫວ່ນີ້ໃຫ້ກັບທາງ Oracle ຜູ້ພັດທະນາໂປຣແກຣມ MySQL ລວມທັງແຈ້ງໃຫ້ກັບທີມຜູ້ພັດທະນາຊ໋ອບແວ MariaDB ແລະ PerconaDB ທີ່ພັດທະນາໂດຍໃຊ້ code ພື້ນຖານຈາກ MySQL, ທີມຜູ້ພັດທະນາຊ໋ອບແວ MariaDB ແລະ PerconaDB ໄດ້ອອກແພັດ (Patch ໃນການປັບປຸງລະບົບ) ແກ້ໄຂຊ່ອງໂຫວ່ນີ້ໄປແລ້ວເມື່ອວັນທີ 30 ສິງຫາ 2016 ແຕ່ທາງ Oracle ຍັງບໍ່ແຈ້ງວ່າຈະເຜີຍແຜ່ແພັດແກ້ໄຂໃຫ້ກັບ MySQL ເມື່ອໃດ ນັກວິໄຈແຈ້ງວ່າເນື່ອງຈາກຊ່ອງໂຫວ່ນີ້ຖືກແກ້ໄຂແລ້ວ ລວມເຖິງໄດ້ແຈ້ງໃຫ້ນັກພັດທະນາຮູ້ຫຼາຍກ່ວາ 40 ມື້ແລ້ວ ຈຶ່ງຕັດສິນໃຈເຜີຍແຜ່ຂໍ້ມູນຊ່ອງໂຫວ່ອອກສູ່ສາທາລະນະ.
ຊ່ອງໂຫວ່ CVE-2016-6663 ມີລັກສະນະການເຮັດວຽກຄືກັນກັບຊ່ອງໂຫວ່ CVE-2016-6662 ແຕ່ນັກວິໄຈຍັງບໍ່ເປີດເຜີຍລາຍລະອຽດຂອງຊ່ອງໂຫວ່ນີ້ ລວມເຖິງຍັງບໍ່ມີການເຜີຍແຜ່ code ຕົວຢ່າງສຳລັບໃຊ້ທົດສອບການເຮັດວຽກຂອງຊ່ອງໂຫວ່ອອກ ສູ່ສາທາລະນະ, ແຕ່ນັກວິໄຈໄດ້ແຈ້ງຂໍ້ມູນຊ່ອງໂຫວ່ໃຫ້ກັບຜູ້ພັດທະນາຮູ້ແລ້ວ ຊຶ່ງປັດຈຸບັນຍັງບໍ່ມີແພັດ.
ຜົນກະທົບ
ຜູ້ບໍ່ຫວັງດີສາມາດໄດ້ສິດທິຂອງ root ເພື່ອສັ່ງປະມວນຜົນຄຳສັ່ງອັນຕະລາຍ ຕິດຕັ້ງ backdoor ຫຼື ຄວບຄຸມລະບົບເພື່ອໃຊ້ໃນການສ້າງຄວາມເສຍຫາຍໄດ້.
ລະບົບທີ່ໄດ້ຮັບຜົນກະທົບ
- MySQL ເວີຊັ່ນ 5.5.x, 5.6.x, 5.7.x (ຕັ້ງແຕ່ມື້ທີ່ເຜີຍແຜ່ບົດຄວາມຍັງບໍ່ມີແພັດ)
- MariaDB ເວີຊັ່ນຕ່ຳກວ່າ 5.5.51, 10.1.17
- PerconaDB ເວີຊັ່ນຕ່ຳກວ່າ 5.5.51-38.1, 5.6.32-78.0 ແລະ 5.7.14-7
ຂໍ້ແນະນຳໃນການປ້ອງກັນ ແລະ ແກ້ໄຂ
ສຳລັບຜູ້ທີ່ໃຊ້ MariaDB ແລະ PerconaDB ເນື່ອງຈາກມີແພັດແກ້ໄຂຊ່ອງໂຫວ່ CVE-2016-6662 ແລ້ວ ຈຶ່ງຄວນອັບເດດຊ໋ອບແວເປັນເວີຊັ່ນລ່າສຸດ
ສຳລັບຜູ້ໃຊ້ MySQL ເນື່ອງຈາກປັດຈຸບັນຍັງບໍ່ມີແພັດແກ້ໄຂ ວິທີຫຼຸດຄວາມສ່ຽງທີ່ບໍ່ສາມາດເຮັດໄດ້ ຄືແກ້ໄຂ permission ຂອງໄຟລ໌ my.cnf ອະນຸຍາດໃຫ້ສະເພາະຜູ້ໃຊ້ທີ່ເປັນ root ເທົ່ານັ້ນມີສິດທິຈະແກ້ໄຂຂໍ້ມູນຂອງໄຟລ໌ນີ້ (ປົກກະຕິແລ້ວຄ່າເລີ່ມຕົ້ນຈະເປັນ mysql/mysql) ຫຼື ຫາກບໍ່ພົບວ່າມີໄຟລ໌ my.cnf ອາດຈະສ້າງໄຟລ໌ເປົ່າໆ ຂຶ້ນມາແລ້ວຕັ້ງຄ່າ permission ໃຫ້ຂຽນໄດ້ສະເພາະ root ເພື່ອຫຼຸດຜົນກະທົບ
ເອກະສານອ້າງອີງ