Drupal ã®èå¼±æ§ (CVE-2019-6340) ã«é¢ãã¦æ¤è¨¼ãã¦ã¿ã
ã©ãããDrupalãä¸åãéç¨ãããã¨ããªãã®ã«ãã¤ã³ã¹ãã¼ã«ããã®ãã©ãã©ãæ©ããªã£ã¦ãããã¨ãã診æå¡ã§ãã ä»åã¯å æ¥PoCãå ¬éãããDrupal ã®èå¼±æ§ (CVE-2019-6340) ã«é¢ãã¦ã¡ããã£ã¨æ¤è¨¼ãã¦ã¿ã¾ããã æè§ãªã®ã§æ¤è¨¼ããå 容ã«ã¤ãã¦ããã°ã«è¨è¼ããã¦ããã¾ãã
èå¼±æ§ã«é¢ããæ å ±
èå¼±æ§ã®ç¨®é¡
RCEï¼Remote Code Executionï¼ã§ãããªã¢ã¼ãã®æ»æè ããWebãµã¼ãã®å使¨©éã«ã¦ä»»æã®ã³ã¼ããå®è¡ããã¦ãã¾ãå±éºæ§ãããã¾ãã
èå¼±æ§ã®å½±é¿ãåãããã¼ã¸ã§ã³
- Drupal 8.6.10 ããåã® 8.6 ç³»ã®ãã¼ã¸ã§ã³
- Drupal 8.5.11 ããåã® 8.5 ç³»ã®ãã¼ã¸ã§ã³
èå¼±æ§ã®å½±é¿ãåããæ¡ä»¶
以ä¸ã®ãããªREST API ãå©ç¨ããã¢ã¸ã¥ã¼ã«ãæå¹ã«ãªã£ã¦ããå ´åãå½±é¿ãåãã¾ãã
ä¸è¨ã¢ã¸ã¥ã¼ã«ã«ã¤ãã¦ã¯ããã©ã«ãã§ã¯ç¡å¹ã§ãã ãªããDrupal 7ç³»ã§ãåæ§ã®ã¢ã¸ã¥ã¼ã«ãæå¹ã«ãªã£ã¦ããå ´åã¯æ¬èå¼±æ§ã®å½±é¿ãåããããã§ãã ã¾ããDrupal 8.5 ç³»ããåã® 8ç³»ã®ãã¼ã¸ã§ã³ã¯ããµãã¼ããçµäºãã¦ãããä»åã®ã»ãã¥ãªãã£ã«é¢ããæ å ±ã¯æä¾ããã¦ãã¾ããã
èå¼±æ§ã®å¯¾ç
èå¼±æ§ã対çããããã¼ã¸ã§ã³ã¸ã®ã¢ããã°ã¬ã¼ã
ã¾ãã該å½ã¢ã¸ã¥ã¼ã«ã®ç¡å¹åã§ã対å¿å¯è½ã§ãã
èå¼±æ§ãåå¨ããåå
ä»åã®èå¼±æ§ã«ã¤ãã¦ã¯ä»¥ä¸Ambionics Security社ã®ããã°ã«ã¦è©³ç´°ã解説ããã¦ãã¾ãã
ä¸è¨ããã°ã«æ¸ãã¦ããéããä»åã®èå¼±æ§ã¯OWASP Top 10 2017ã«ãã©ã³ã¯ã¤ã³ãããããããå®å ¨ã§ã¯ãªããã·ãªã¢ã©ã¤ã¼ã¼ã·ã§ã³ãã®åé¡ã«èµ·å ãããã®ã§ãã ãå®å ¨ã§ã¯ãªããã·ãªã¢ã©ã¤ã¼ã¼ã·ã§ã³ãã«ã¤ãã¦ã¯å¾³ä¸¸ããã®ä»¥ä¸ã®è¨äºãåèã«ãªãã¾ãã
安全でないデシリアライゼーション(Insecure Deserialization)入門 | 徳丸浩の日記
ä»åã®èå¼±æ§ã¯ãREST APIçµç±ã«ã¦JSONå½¢å¼ã§å®ç¾©ãããå¤ã«ã·ãªã¢ã©ã¤ãºåããããã¼ã¿ãæå®ãã¦éä¿¡ããå ´åã«ããã®å¤ããã®ã¾ã¾ãã·ãªã¢ã©ã¤ãºããã¦ãã¾ããã¨å©ç¨ãã¦ãä»»æã®ã³ã¼ããå®è¡ããã¨ãããã®ã§ããã¾ããä¸è¨ããã°ã«ã¦è¨è¼ãã¦ããéããå½åã¯Drupalæ¬å®¶ã®Security advisoriesã§ã¯æ»æã¯ãPOSTãããPATCHãã¡ã½ããçµç±ã§ããããã該å½ã¡ã½ããã®ãªã¯ã¨ã¹ããåãä»ããªãããã«ãããã¨ãç·©åçã§ããæ¨ã®è¨è¼ãããã¦ãã¾ããããããã ãã§ã¯ãªãããGETããªã¯ã¨ã¹ãã§ãæ¬æ»æã¯æç«ãã¾ãã
åèãµã¤ã
https://www.drupal.org/sa-core-2019-003
https://www.drupal.org/psa-2019-02-22
Drupal の脆弱性 (CVE-2019-6340) に関する注意喚起
èå¼±æ§ã®æ¤è¨¼ã«ã¤ãã¦
ã¨ããããPoCã試ããããæ»æãªã¯ã¨ã¹ããªã©ãéæ»ç¢ºèªãããå ´åã«ã¯@knqyf263ãããå ¬éãã¦ããã¦ããç´ æ´ãããdockerã¤ã¡ã¼ã¸ãããã®ã§ãã¡ããå©ç¨ããã®ãè¯ãã¨æãã¾ãã
GitHub - knqyf263/CVE-2019-6340: Environment for CVE-2019-6340 (Drupal)
PoCã®è©³ç´°ã¯ããã«ã¯æ¸ãã¾ãããcurlã³ãã³ãã®ã¿ã§ãæè»½ã«å®è¡ãå¯è½ã§ãã ãªããèªåã§ãç°å¢ãæ§ç¯ãããã¾ããããä»åã®æ¤è¨¼ã¯ç¾å¨ã®PoCã対å¿ãã¦ãã8ç³»ã«ã¦å®æ½ãã¾ããã
ç°å¢æ§ç¯ã«ã¤ãã¦
èå¼±æ§ã®å½±é¿ãåãããã¼ã¸ã§ã³ã®Drupalãã¤ã³ã¹ãã¼ã«å¾ã以ä¸ã®ã¢ã¸ã¥ã¼ã«ãæå¹ã«ããå¿ è¦ãããã¾ãã
- HAL
- REST UI
- RESTful Web Services
- Serialization
ãã®å ãREST UI ã¢ã¸ã¥ã¼ã«ã¯ã³ã¢ã«çµã¿è¾¼ã¾ãã¦ããªãçºãå¥éãã¦ã³ãã¼ãããå¿ è¦ãããã¾ãã ã¢ã¸ã¥ã¼ã«ãæå¹åããã¨ãç°å¢è¨å®ã®ã¦ã§ããµã¼ãã¹ã«ãRESTãã¨ããé ç®ãç¾ãã¾ãã ããããããã³ã³ãã³ããã®é ç®ãæå¹ã«ãã以ä¸ã®ããã«è¨å®ããã°OKã§ãã
ãªãããã¡ãã®è§£èª¬ãåèã«ãªãã¾ãã
RESTful Web Services と REST UIで始めるDrupal8 REST API入門 | Drupal専門の開発会社 Studio Umi
ã¾ããæ¤è¨¼ã«ã¯drupalä¸ã®ãã¼ããå¿ è¦ãªãããé©å½ãªã³ã³ãã³ãã追å ããå¿ è¦ãããã¾ãã
PoCã®å®è¡çµæ
çµè«ããè¨ãã°ãæå
ã§ã以ä¸ã®ããã«ãcurlã³ãã³ããå©ç¨ãã¦PoCãæã¡è¾¼ãã æãä»»æã®ã³ãã³ããå®è¡ããããã¨ã確èªãã¦ãã¾ãã以ä¸ã¯PoCã«ã¦idã³ãã³ããå®è¡ããçµæã¨ãªãã¾ãã
ç¾å¨ã®PoCã試ãã¦ããã¤ãåãã£ããã¨ã¨ãã¦ã¯ãGETãªã¯ã¨ã¹ãã§ã®å®è¡ã§ã¯ä¸åº¦æã¡è¾¼ãã¨ãã£ãã·ã¥ã«æ®ã£ã¦ãã¾ãããé£ç¶ã§å®è¡ãã§ãã¾ããï¼ãã£ãã·ã¥ãã¯ãªã¢ããã°å度æåãããã¨ã¯ç¢ºèªãã¦ãã¾ãï¼ã POSTã¡ã½ãããPATCHã¡ã½ããã§å®è¡ããå ´åã«ã¯é£ç¶ã§è©¦è¡ã§ãã¾ãã
ãããã¬ã§ã®è§£æ
PoCã®å®è¡ããããã¬ãå©ç¨ãã¦è§£æããçµæã以ä¸ã®ããã«PoCã«ã¦éä¿¡ããã·ãªã¢ã©ã¤ãºåãããå¤ããLinkItem.phpã®unserializeã¡ã½ããã«æ¸¡ã£ã¦ããããã·ãªã¢ã©ã¤ãºããããã¨ãåããã¾ãã
PoCã«å«ã¾ãã¦ããã·ãªã¢ã©ã¤ãºåãããå¤ã¯ãAmbionics Security社ã®ããã°ã«ã¦æ¸ããã¦ãã¾ãããDrupal 8ãå é¨ã«ã¦å©ç¨ãã¦ããGuzzleã¨ããHTTPã¯ã©ã¤ã¢ã³ãã©ã¤ãã©ãªãå© ç¨ãã¦ä»»æã®ã³ã¼ããå®è¡ãããã®ã¨ãªãã¾ããGuzzleã®destructorå¦çã«ã¦æããã¬ã¸ã§ãããã§ã¼ã³ãå©ç¨ãã¦ä»»æã®ã³ã¼ããå®è¡ãã¦ããã¨æããã¾ãã
å¯¾çæ¸ã¿ãã¼ã¸ã§ã³ã§ã¯ï¼
èå¼±æ§ãå¯¾çæ¸ã¿ã§ãã8.6.10ã§æ¤è¨¼ãã¦ã¿ãçµæãPoCãå®è¡ããã¨ä»¥ä¸ã®ãããªå¿çã¨ãªããã³ã¼ããå®è¡ãããªããã¨ã確èªãã¦ãã¾ãã
ãããã¬ã§è¿½è·¡ããçµæã対çã¨ãã¦è¿½å ãããcheckForSerializedStringsã¡ã½ããã«å¤ã渡ãããä¾å¤ãçºçãã¦ãããã¨ããããã¾ãã
ææ
ã¾ããä»åã®èå¼±æ§ã¯ãåææ¡ä»¶ã¨ãã¦ããã©ã«ãã§ã¯ç¡å¹ã¨ãªã£ã¦ããã¢ã¸ã¥ã¼ã«ãæå¹ã§ããç°å¢ã®ã¿ãå½±é¿ãåãããããå人çã«ã¯Drupalgeddon 2ï¼CVE-2018-7600ï¼ãªã©ãããã¯ã¾ã ãã·ãªã»ããªã®ããªã¨ããå°è±¡ãåãã¦ãã¾ãããã ããæ¡ä»¶ãããã£ã¦ãã¾ãã°æ»æã®å®è¡ã¯é常ã«ç°¡åã§ãããå±éºåº¦ã®é«ãèå¼±æ§ã§ã¯ãããã¨ã¯ééããªãã®ã§ã注æãå¿ è¦ã§ãã ã¾ããåç´ã«å¤é¨ããåãæ¸¡ãããå¤ãæ¤è¨¼ãªãã«ãã·ãªã¢ã©ã¤ãºãã¦ãããã¨ãåé¡ã§ããããããå®å ¨ã§ã¯ãªããã·ãªã¢ã©ã¤ã¼ã¼ã·ã§ã³ãã®çµæ§è¯ãäºä¾ã¨ãªããããªèå¼±æ§ãªã®ã§ã¯ãªããã¨æãã¾ããã
PS
Ambionics Security社ã®ããã°ã«ãè¨è¼ãã¦ããã·ãªã¢ã©ã¤ãºåããããã¤ãã¼ãã¯PHPGGCã¨ãããã¼ã«ãå©ç¨ãã¦ä½æãã¦ããæ¨ãã¨æ¸ããã¦ãã¾ãã ãã®ãã¼ã«ã¯æå®ããã©ã¤ãã©ãªã«å¯¾å¿ãããã·ãªã¢ã©ã¤ãºå¦çãæªç¨ããPHPç¨ã®æ»æãã¤ãã¼ããèªåçæãã¦ããããã®ã®ããã§ãé常ã«é¢ç½ãããªã®ã§ããã®å æéãè¦ã¤ãã¦èª¿ã¹ã¦ã¿ããããªã¨æã£ã¦ãã¾ãã