{"id":"CVE-2024-38816","published":"2024-09-13T06:10:06Z","modified":"2025-03-18T15:06:29Z","title":"CVE-2024-38816: Path traversal vulnerability in functional web frameworks","vendor":"Spring","product":"Spring","tier":"core","eol":null,"affectedVersions":[{"vendor":"Spring","product":"Spring","versions":[">= 5.3.x, < 5.3.40",">= 6.0.x, < 6.0.24",">= 6.1.x, < 6.1.13"]}],"description":{"text":"Applications serving static resources through the functional web frameworks WebMvc.fn or WebFlux.fn are vulnerable to path traversal attacks. An attacker can craft malicious HTTP requests and obtain any file on the file system that is also accessible to the process in which the Spring application is running.\n\nSpecifically, an application is vulnerable when both of the following are true:\n\n  *  the web application uses RouterFunctions to serve static resources\n  *  resource handling is explicitly configured with a FileSystemResource location\n\n\nHowever, malicious requests are blocked and rejected when any of the following is true:\n\n  *  the  Spring Security HTTP Firewall https://docs.spring.io/spring-security/reference/servlet/exploits/firewall.html  is in use\n  *  the application runs on Tomcat or Jetty","provenance":"source","from":"CVE.org"},"summary":null,"cvss":{"score":7.5,"severity":"HIGH","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.21263,"percentile":0.97593,"date":"2026-10-30","provenance":"source"},"kev":null,"vulncheckKev":{"dateAdded":"2024-10-22","exploitedFirstSeen":"2024-10-22","ransomware":false,"evidence":[{"url":"https://cyble.com/blog/cyble-sensors-detect-attacks-on-java-framework-iot-devices/","date":"2024-10-22"},{"url":"https://app.crowdsec.net/cti/cve-explorer/CVE-2024-38816","date":"2025-06-07"}],"evidenceTotal":2,"provenance":"source"},"exploited":true,"otx":{"pulseCount":1,"pulses":[{"name":"ACTUALIZACION | ||Oracle Critical Patch Update Advisory - April 2025","url":"https://otx.alienvault.com/pulse/6807e1c45dd52410facbed8f","created":"2025-04-22"}],"provenance":"machine"},"cwes":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory"}],"references":[{"url":"https://spring.io/security/cve-2024-38816","tags":[]},{"url":"https://security.netapp.com/advisory/ntap-20241227-0001/","tags":[]}],"techniques":[],"reports":[],"affected":[{"ecosystem":"Maven","package":"org.springframework:spring-webmvc","vulnerableRanges":[">=6.1.0, <6.1.13",">=6.0.0, <=6.0.23",">=5.3.0, <=5.3.39"],"patched":["6.1.13"],"from":["GHSA-cx7f-g6mp-7hqm"],"provenance":"source"},{"ecosystem":"Maven","package":"org.springframework:spring-webflux","vulnerableRanges":[">=6.1.0, <6.1.13",">=6.0.0, <=6.0.23",">=5.3.0, <=5.3.39"],"patched":["6.1.13"],"from":["GHSA-cx7f-g6mp-7hqm"],"provenance":"source"}],"advisories":[{"id":"GHSA-cx7f-g6mp-7hqm","url":"https://github.com/advisories/GHSA-cx7f-g6mp-7hqm","severity":"HIGH","ecosystem":"Maven","package":"org.springframework:spring-webmvc","vulnerableRanges":[">=6.1.0, <6.1.13"],"patched":["6.1.13"],"provenance":"source","from":"GHSA"},{"id":"GHSA-cx7f-g6mp-7hqm","url":"https://github.com/advisories/GHSA-cx7f-g6mp-7hqm","severity":"HIGH","ecosystem":"Maven","package":"org.springframework:spring-webflux","vulnerableRanges":[">=6.1.0, <6.1.13"],"patched":["6.1.13"],"provenance":"source","from":"GHSA"},{"id":"GHSA-cx7f-g6mp-7hqm","url":"https://github.com/advisories/GHSA-cx7f-g6mp-7hqm","severity":"HIGH","ecosystem":"Maven","package":"org.springframework:spring-webmvc","vulnerableRanges":[">=6.0.0, <=6.0.23"],"patched":[],"provenance":"source","from":"GHSA"},{"id":"GHSA-cx7f-g6mp-7hqm","url":"https://github.com/advisories/GHSA-cx7f-g6mp-7hqm","severity":"HIGH","ecosystem":"Maven","package":"org.springframework:spring-webflux","vulnerableRanges":[">=6.0.0, <=6.0.23"],"patched":[],"provenance":"source","from":"GHSA"},{"id":"GHSA-cx7f-g6mp-7hqm","url":"https://github.com/advisories/GHSA-cx7f-g6mp-7hqm","severity":"HIGH","ecosystem":"Maven","package":"org.springframework:spring-webmvc","vulnerableRanges":[">=5.3.0, <=5.3.39"],"patched":[],"provenance":"source","from":"GHSA"},{"id":"GHSA-cx7f-g6mp-7hqm","url":"https://github.com/advisories/GHSA-cx7f-g6mp-7hqm","severity":"HIGH","ecosystem":"Maven","package":"org.springframework:spring-webflux","vulnerableRanges":[">=5.3.0, <=5.3.39"],"patched":[],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2024-2776","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2024-2776","exploited":false,"exploitedSince":null,"provenance":"source"},"exploits":[],"exploitSources":{"pocGithub":{"count":5,"skipped":0,"earliest":"2024-09-20","earliestUrl":"https://github.com/startsw1th/cve-2024-38816-demo","repos":[{"name":"WULINPIN/CVE-2024-38816-PoC","url":"https://github.com/WULINPIN/CVE-2024-38816-PoC","stars":9,"created":"2024-09-28"},{"name":"startsw1th/cve-2024-38816-demo","url":"https://github.com/startsw1th/cve-2024-38816-demo","stars":2,"created":"2024-09-20"},{"name":"Anthony1078/App-vulnerable","url":"https://github.com/Anthony1078/App-vulnerable","stars":0,"created":"2024-12-02"},{"name":"wdragondragon/spring-framework","url":"https://github.com/wdragondragon/spring-framework","stars":0,"created":"2025-01-02"},{"name":"jaloon/spring-webmvc5","url":"https://github.com/jaloon/spring-webmvc5","stars":0,"created":"2025-04-14"}]},"nuclei":[{"id":"CVE-2024-38816","name":"WebMvc.fn/WebFlux.fn - Path Traversal","severity":"high","path":"http/cves/2024/CVE-2024-38816.yaml","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2024/CVE-2024-38816.yaml"}],"first":{"date":"2024-09-20","source":"PoC-in-GitHub","url":"https://github.com/startsw1th/cve-2024-38816-demo"},"provenance":"source"},"exploitRefs":[],"flow":[],"timeline":[{"date":"2024-09-13","kind":"published","label":"Published (CVE.org)","url":"https://www.cve.org/CVERecord?id=CVE-2024-38816","provenance":"source"},{"date":"2024-09-20","kind":"exploit-public","label":"First public exploit: PoC-in-GitHub","url":"https://github.com/startsw1th/cve-2024-38816-demo","provenance":"source"},{"date":"2024-10-22","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://cyble.com/blog/cyble-sensors-detect-attacks-on-java-framework-iot-devices/","provenance":"source"}],"speed":{"daysToPublicExploit":7,"firstExploitFrom":"PoC-in-GitHub","daysToKev":null},"priority":{"score":65.5,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in VulnCheck KEV"},{"name":"Recent KEV listing","points":0.0,"detail":"added 739 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.52,"detail":"percentile 0.9759"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"5 PoC-in-GitHub repos; 1 nuclei template"},{"name":"Mentioned in OTX pulses","points":0.68,"detail":"1 pulse"},{"name":"CVSS severity","points":5.25,"detail":"base score 7.5"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]},"lineage":{"familyId":"fam-spring-framework-cve-2015-5211","children":[{"from":"CVE-2024-38816","to":"CVE-2024-38819","relation":"successor","confidence":"high","kind":"lineage","evidence":[{"kind":"version-step","provenance":"source","package":"Maven:org.springframework:spring-webmvc","fromFixed":"6.1.13","toFixed":"6.1.14","daysApart":97},{"kind":"version-step","provenance":"source","package":"Maven:org.springframework:spring-webflux","fromFixed":"6.1.13","toFixed":"6.1.14","daysApart":97},{"kind":"same-code","provenance":"machine","files":["spring-webflux/src/main/java/org/springframework/web/reactive/function/server/PathResourceLookupFunction.java","spring-webmvc/src/main/java/org/springframework/web/servlet/function/PathResourceLookupFunction.java"],"commits":["https://github.com/spring-projects/spring-framework/commit/d86bf8b2056429edf5494456cffcb2b243331c49","https://github.com/spring-projects/spring-framework/commit/3bfbe30a7814c9ea1556d40df9bd87ddb3ba372d","https://github.com/spring-projects/spring-framework/commit/fb7890d73975a3d9e0763e0926df2bd0a608e87e"],"basis":"shared function","functions":["apply","isInvalidPath"]},{"kind":"similar","provenance":"machine","score":0.58,"basis":"same package + description similarity"}]}],"packageHistory":[{"cve":"CVE-2024-38828","published":"2024-11-18","fixed":"5.3.42","kev":false},{"cve":"CVE-2023-20860","published":"2023-03-27","fixed":"6.0.7","kev":false},{"cve":"CVE-2023-34053","published":"2023-11-28","fixed":"6.0.14","kev":false},{"cve":"CVE-2024-38816","published":"2024-09-13","fixed":"6.1.13","kev":false},{"cve":"CVE-2024-38819","published":"2024-12-19","fixed":"6.1.14","kev":false},{"cve":"CVE-2025-41242","published":"2025-08-18","fixed":"6.2.10","kev":false},{"cve":"CVE-2026-22735","published":"2026-03-19","fixed":"7.0.6","kev":false}],"package":"Maven:org.springframework:spring-webmvc"}}