{"id":"CVE-2014-0130","published":"2014-05-07T10:55:04Z","modified":"2026-06-17T00:02:21Z","title":"Ruby on Rails Directory Traversal Vulnerability","vendor":"Rails","product":"Ruby on Rails","tier":"core","eol":null,"description":{"text":"Directory traversal vulnerability in actionpack/lib/abstract_controller/base.rb in the implicit-render implementation in Ruby on Rails before 3.2.18, 4.0.x before 4.0.5, and 4.1.x before 4.1.1, when certain route globbing configurations are enabled, allows remote attackers to read arbitrary files via a crafted request.","provenance":"source","from":"NVD"},"summary":{"text":"The flaw is a directory traversal vulnerability in the implicit-render implementation of Ruby on Rails' ActionPack component (actionpack/lib/abstract_controller/base.rb), affecting Rails versions before 3.2.18, 4.0.x before 4.0.5, and 4.1.x before 4.1.1. An unauthenticated remote attacker who sends a crafted request can read arbitrary files on the server, but only when certain route globbing configurations are enabled.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-31T05:10:11Z"},"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":"NVD"},"epss":{"score":0.53703,"percentile":0.98995,"date":"2026-10-30","provenance":"source"},"kev":{"dateAdded":"2022-03-25","dueDate":"2022-04-15","ransomware":false,"requiredAction":"Apply updates per vendor instructions.","notes":"https://nvd.nist.gov/vuln/detail/CVE-2014-0130","provenance":"source"},"vulncheckKev":{"dateAdded":"2022-01-12","exploitedFirstSeen":"2022-01-12","ransomware":false,"evidence":[{"url":"https://blog.checkpoint.com/security/december-2021s-most-wanted-malware-trickbot-emotet-and-the-log4j-plague/","date":"2022-01-12"},{"url":"https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json","date":"2022-03-25"},{"url":"https://blog.checkpoint.com/security/april-2022s-most-wanted-malware-a-shake-up-in-the-index-but-emotet-is-still-on-top/","date":"2022-05-11"},{"url":"https://blog.checkpoint.com/security/april-2024s-most-wanted-malware-surge-in-androxgh0st-attacks-and-the-decline-of-lockbit3/","date":"2024-05-09"},{"url":"https://blog.checkpoint.com/research/may-2024s-most-wanted-malware-phorpiex-botnet-unleashes-phishing-frenzy-while-lockbit3-dominates-once-again","date":"2024-06-10"},{"url":"https://blog.checkpoint.com/research/july-2024s-most-wanted-malware-remcos-and-ransomhub-run-rampant/","date":"2024-08-12"},{"url":"https://go.catonetworks.com/rs/245-RJK-441/images/Q2_24_Cato_CTRL_Threat_Report.pdf","date":"2024-08-13"},{"url":"https://blog.checkpoint.com/research/september-2024s-most-wanted-malware-notable-ai-driven-techniques-and-persistent-ransomhub-threats/","date":"2024-10-11"},{"url":"https://blog.checkpoint.com/security/october-2024s-most-wanted-malware-infostealers-surge-as-cyber-criminals-leverage-innovative-attack-vectors/","date":"2024-11-11"}],"evidenceTotal":9,"provenance":"source"},"exploited":true,"otx":{"pulseCount":50,"pulses":[{"name":"Actively_Exploited_Kev | Oct 29, 2026","url":"https://otx.alienvault.com/pulse/6ae20c1db17e7057ae7d9ad1","created":"2026-10-28"},{"name":"Actively_Exploited_Kev | Oct 28, 2026","url":"https://otx.alienvault.com/pulse/6ae0ba7e0e2a97ff7b218819","created":"2026-10-27"},{"name":"Actively_Exploited_Kev | Oct 27, 2026","url":"https://otx.alienvault.com/pulse/6adf68b85c3e852f3c111d18","created":"2026-10-26"},{"name":"Actively_Exploited_Kev | Oct 24, 2026","url":"https://otx.alienvault.com/pulse/6adb740e397c3ad4799aa4cd","created":"2026-10-23"},{"name":"Actively_Exploited_Kev | Oct 23, 2026","url":"https://otx.alienvault.com/pulse/6ada236fcfba2dfa730ea482","created":"2026-10-22"},{"name":"Actively_Exploited_Kev | Oct 22, 2026","url":"https://otx.alienvault.com/pulse/6ad8d33a077cbb5cab524d80","created":"2026-10-21"},{"name":"Actively_Exploited_Kev | Oct 21, 2026","url":"https://otx.alienvault.com/pulse/6ad78130c4d1ac2be83a8b6d","created":"2026-10-20"},{"name":"Actively_Exploited_Kev | Oct 20, 2026","url":"https://otx.alienvault.com/pulse/6ad62f63c24a405a3423cc13","created":"2026-10-19"},{"name":"Actively_Exploited_Kev | Oct 19, 2026","url":"https://otx.alienvault.com/pulse/6ad4dda174e5797d0bd238b7","created":"2026-10-18"},{"name":"Actively_Exploited_Kev | Oct 18, 2026","url":"https://otx.alienvault.com/pulse/6ad38c22e1848f8189d1c121","created":"2026-10-17"}],"provenance":"machine"},"cwes":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory"}],"references":[{"url":"http://matasano.com/research/AnatomyOfRailsVuln-CVE-2014-0130.pdf","tags":["Broken Link","Technical Description"]},{"url":"http://rhn.redhat.com/errata/RHSA-2014-1863.html","tags":["Third Party Advisory"]},{"url":"http://www.securityfocus.com/bid/67244","tags":["Broken Link","Third Party Advisory","VDB Entry"]},{"url":"https://groups.google.com/forum/message/raw?msg=rubyonrails-security/NkKc7vTW70o/NxW_PDBSG3AJ","tags":["Broken Link","Third Party Advisory"]},{"url":"http://matasano.com/research/AnatomyOfRailsVuln-CVE-2014-0130.pdf","tags":["Broken Link","Technical Description"]},{"url":"http://rhn.redhat.com/errata/RHSA-2014-1863.html","tags":["Third Party Advisory"]},{"url":"http://www.securityfocus.com/bid/67244","tags":["Broken Link","Third Party Advisory","VDB Entry"]},{"url":"https://groups.google.com/forum/message/raw?msg=rubyonrails-security/NkKc7vTW70o/NxW_PDBSG3AJ","tags":["Broken Link","Third Party Advisory"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2014-0130","tags":["US Government Resource"]}],"techniques":[{"id":"T1190","name":"Exploit Public-Facing Application","tactics":["initial-access"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: remote unauthenticated crafted request to web app","mappingType":"exploitation_technique","evidence":[{"from":"description","quote":"allows remote attackers to read arbitrary files via a crafted request","start":250,"end":319}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"},{"id":"T1005","name":"Data from Local System","tactics":["collection"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: arbitrary file read from local system","mappingType":"primary_impact","evidence":[{"from":"description","quote":"allows remote attackers to read arbitrary files via a crafted request","start":250,"end":319}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"}],"reports":[],"affected":[{"ecosystem":"RubyGems","package":"actionpack","vulnerableRanges":[">=3.0.0, <3.2.18",">=4.0.0, <4.0.5",">=4.1.0, <4.1.1"],"patched":["3.2.18","4.0.5","4.1.1"],"from":["GHSA-6x85-j5j2-27jx"],"provenance":"source"}],"advisories":[{"id":"GHSA-6x85-j5j2-27jx","url":"https://github.com/advisories/GHSA-6x85-j5j2-27jx","severity":"HIGH","ecosystem":"RubyGems","package":"actionpack","vulnerableRanges":[">=3.0.0, <3.2.18"],"patched":["3.2.18"],"provenance":"source","from":"GHSA"},{"id":"GHSA-6x85-j5j2-27jx","url":"https://github.com/advisories/GHSA-6x85-j5j2-27jx","severity":"HIGH","ecosystem":"RubyGems","package":"actionpack","vulnerableRanges":[">=4.0.0, <4.0.5"],"patched":["4.0.5"],"provenance":"source","from":"GHSA"},{"id":"GHSA-6x85-j5j2-27jx","url":"https://github.com/advisories/GHSA-6x85-j5j2-27jx","severity":"HIGH","ecosystem":"RubyGems","package":"actionpack","vulnerableRanges":[">=4.1.0, <4.1.1"],"patched":["4.1.1"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2017-0180","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2017-0180","exploited":true,"exploitedSince":"2022-03-25","provenance":"source"},"exploits":[],"exploitSources":{"pocGithub":{"count":1,"skipped":0,"earliest":"2014-05-08","earliestUrl":"https://github.com/omarkurt/cve-2014-0130","repos":[{"name":"omarkurt/cve-2014-0130","url":"https://github.com/omarkurt/cve-2014-0130","stars":18,"created":"2014-05-08"}]},"first":{"date":"2014-05-08","source":"PoC-in-GitHub","url":"https://github.com/omarkurt/cve-2014-0130"},"provenance":"source"},"exploitRefs":[],"flow":[{"stage":"exploitation","techniques":["T1190"],"provenance":"ai"},{"stage":"primary","techniques":["T1005"],"provenance":"ai"}],"timeline":[{"date":"2014-05-07","kind":"published","label":"Published (NVD)","url":"https://nvd.nist.gov/vuln/detail/CVE-2014-0130","provenance":"source"},{"date":"2014-05-08","kind":"exploit-public","label":"First public exploit: PoC-in-GitHub","url":"https://github.com/omarkurt/cve-2014-0130","provenance":"source"},{"date":"2022-01-12","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://blog.checkpoint.com/security/december-2021s-most-wanted-malware-trickbot-emotet-and-the-log4j-plague/","provenance":"source"},{"date":"2022-03-25","kind":"kev","label":"Added to CISA KEV","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","provenance":"source"},{"date":"2022-03-25","kind":"euvd-exploited","label":"ENISA EUVD: exploited","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2017-0180","provenance":"source"}],"speed":{"daysToPublicExploit":1,"firstExploitFrom":"PoC-in-GitHub","daysToKev":2879},"priority":{"score":68.0,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in CISA KEV and VulnCheck KEV"},{"name":"Recent KEV listing","points":0.0,"detail":"added 1753 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.8,"detail":"percentile 0.9899"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"1 PoC-in-GitHub repo"},{"name":"Mentioned in OTX pulses","points":3.0,"detail":"50 pulses"},{"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-class-rails-ruby-on-rails-cwe-22","packageHistory":[{"cve":"CVE-2014-0082","published":"2014-02-20","fixed":"3.2.17","kev":false,"link":{"from":"CVE-2014-0082","to":"CVE-2014-0130","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"RubyGems:actionpack","fromFixed":"3.2.17","toFixed":"3.2.18","daysApart":76}]}},{"cve":"CVE-2013-6416","published":"2013-12-07","fixed":"4.0.2","kev":false},{"cve":"CVE-2013-6417","published":"2013-12-07","fixed":"4.0.2","kev":false},{"cve":"CVE-2014-0081","published":"2014-02-20","fixed":"4.0.3","kev":false,"link":{"from":"CVE-2014-0081","to":"CVE-2014-0130","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"RubyGems:actionpack","fromFixed":"4.0.3","toFixed":"4.0.5","daysApart":76}]}},{"cve":"CVE-2014-0130","published":"2014-05-07","fixed":"4.1.1","kev":true},{"cve":"CVE-2015-7576","published":"2016-02-16","fixed":"4.1.14.1","kev":false},{"cve":"CVE-2016-2097","published":"2016-04-07","fixed":"4.1.14.2","kev":false},{"cve":"CVE-2014-7818","published":"2014-11-08","fixed":"4.2.0.beta3","kev":false,"link":{"from":"CVE-2014-0130","to":"CVE-2014-7818","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"RubyGems:actionpack","fromFixed":"3.2.18","toFixed":"3.2.20","daysApart":185},{"kind":"version-step","provenance":"source","package":"RubyGems:actionpack","fromFixed":"4.0.5","toFixed":"4.0.11","daysApart":185}]}}],"package":"RubyGems:actionpack"}}