{"schemaVersion":3,"id":"CVE-2014-2734","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"The openssl extension in Ruby 2.x does not properly maintain the state of process memory after a file is reopened, which allows remote attackers to spoof signatures within the context of a Ruby script that attempts signature verification after performing a certain sequence of filesystem operations.  NOTE: this issue has been disputed by the Ruby OpenSSL team and third parties, who state that the original demonstration PoC contains errors and redundant or unnecessarily-complex code that does not appear to be related to a demonstration of the issue. As of 20140502, CVE is not aware of any public comment by the original researcher","dates":{"published":"2014-04-24T23:00:00.000Z","modified":"2024-08-06T10:21:36.074Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.8,"severity":"medium","version":"2.0","versionLabel":"v2.0","source":"NVD","vector":"AV:N/AC:M/Au:N/C:P/I:P/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"2.0","versionLabel":"v2.0","source":"NVD","score":5.8,"severity":"medium","vector":"AV:N/AC:M/Au:N/C:P/I:P/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.05349,"percentile":0.92562,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.05349},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.05349,"percentile":0.92562}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.05349,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.05349,"percentile":0.92562}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"REF_AE8E4AA7A8C6AFDB","name":"Exploit Reference (packetstormsecurity.com)","source":"reference","url":"http://packetstormsecurity.com/files/126218/Ruby-OpenSSL-Private-Key-Spoofing.html","maturity":"unknown","reliabilityScore":0.2,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null},{"id":"REF_0C1658924CE52F78","name":"Exploit Reference (seclists.org)","source":"reference","url":"http://seclists.org/fulldisclosure/2014/Apr/231","maturity":"unknown","reliabilityScore":0.2,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":2,"weaknesses":[{"id":"CWE-399","name":"Resource Management Errors","description":"Weaknesses in this category are related to improper management of system resources.","type":"category","status":"Draft","abstraction":null,"likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/399.html"}],"affected":[{"vendor":"ruby-lang","product":"ruby","name":"ruby","label":"ruby","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"2.0","noFixRecorded":false,"fixedIn":null},{"text":"2.0.0","noFixRecorded":false,"fixedIn":null},{"text":"2.0.0:p0","noFixRecorded":false,"fixedIn":null},{"text":"2.0.0:p195","noFixRecorded":false,"fixedIn":null},{"text":"2.0.0:p247","noFixRecorded":false,"fixedIn":null},{"text":"2.0.0:preview1","noFixRecorded":false,"fixedIn":null},{"text":"2.0.0:preview2","noFixRecorded":false,"fixedIn":null},{"text":"2.0.0:rc1","noFixRecorded":false,"fixedIn":null},{"text":"2.0.0:rc2","noFixRecorded":false,"fixedIn":null},{"text":"2.1","noFixRecorded":false,"fixedIn":null},{"text":"2.1:preview1","noFixRecorded":false,"fixedIn":null},{"text":"2.1.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"2.0 | 2.0.0 | 2.0.0:p0 | 2.0.0:p195 | 2.0.0:p247 | 2.0.0:preview1 | 2.0.0:preview2 | 2.0.0:rc1 | 2.0.0:rc2 | 2.1 | 2.1:preview1 | 2.1.1","eol":{"isEol":true,"eolDate":"2016-02-24T00:00:00.000Z","matchMethod":"cpe","cycle":{"name":"2.0.0","label":"2.0.0","eolFrom":"2016-02-24T00:00:00.000Z","isLts":false,"isMaintained":false,"latestVersion":"2.0.0p648"},"product":{"name":"ruby","label":"Ruby","category":"lang"}},"hubHref":"/vendor/ruby-lang/ruby"}],"affectedCount":1,"eol":{"hasEol":true,"count":1},"references":[{"url":"http://packetstormsecurity.com/files/126218/Ruby-OpenSSL-Private-Key-Spoofing.html","label":"packetstormsecurity.com/files/126218/Ruby-OpenSSL-Private-Key-Spoofing.html","hostname":"packetstormsecurity.com","tags":["X Refsource MISC","Exploit"]},{"url":"http://www.osvdb.org/106006","label":"www.osvdb.org/106006","hostname":"www.osvdb.org","tags":["VDB Entry","X Refsource OSVDB"]},{"url":"https://news.ycombinator.com/item?id=7601973","label":"news.ycombinator.com/item?id=7601973","hostname":"news.ycombinator.com","tags":["X Refsource MISC"]},{"url":"http://www.securityfocus.com/bid/66956","label":"www.securityfocus.com/bid/66956","hostname":"www.securityfocus.com","tags":["VDB Entry","X Refsource BID"]},{"url":"http://seclists.org/fulldisclosure/2014/May/13","label":"seclists.org/fulldisclosure/2014/May/13","hostname":"seclists.org","tags":["Mailing List","X Refsource FULLDISC"]},{"url":"https://gist.github.com/10446549","label":"gist.github.com/10446549","hostname":"gist.github.com","tags":["X Refsource MISC"]},{"url":"https://www.ruby-lang.org/en/news/2014/05/09/dispute-of-vulnerability-cve-2014-2734/","label":"www.ruby-lang.org/en/news/2014/05/09/dispute-of-vulnerability-cve-2014-2734/","hostname":"www.ruby-lang.org","tags":["X Refsource MISC"]},{"url":"https://gist.github.com/emboss/91696b56cd227c8a0c13","label":"gist.github.com/emboss/91696b56cd227c8a0c13","hostname":"gist.github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/adrienthebo/cve-2014-2734/","label":"github.com/adrienthebo/cve-2014-2734/","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"http://seclists.org/fulldisclosure/2014/Apr/231","label":"seclists.org/fulldisclosure/2014/Apr/231","hostname":"seclists.org","tags":["Mailing List","X Refsource FULLDISC","Exploit"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2014-04-24T23:00:00.000Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2024-08-06T10:21:36.074Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":34,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T22:17:27.228Z","stale":false,"partial":false}}