{"id":"CVE-2014-10075","aliases":["EUVD-2022-4963","GHSA-qfwq-chf4-jvwg"],"status":"published","title":"karo Metacharacter Handling Remote Command Execution","description":"The karo gem 2.3.8 for Ruby allows Remote command injection via the host field.","severity":{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.03537,"percentile":0.89352,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-77"],"published":"2018-10-05T05:00:00Z","modified":"2026-06-17T00:04:11Z","affected":[{"source":"ghsa","ecosystem":"RubyGems","package":"karo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.5.2"}]}]},{"source":"osv","ecosystem":"RubyGems","package":"karo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.5.2"}]}],"versions":["1.0.0","1.1.0","1.2.0","1.2.1","1.3.0","1.4.0","1.5.0","2.0.0","2.1.0","2.1.1","2.1.2","2.1.3","2.2.0","2.2.1","2.3.0","2.3.1","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.3.9","2.4.0","2.5.0","2.5.1","2.5.2"]}],"products":[{"vendor":"karo_project","product":"karo"}],"references":[{"url":"http://www.vapidlabs.com/advisory.php?v=63","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","web"]},{"url":"http://www.vapid.dhs.org/advisories/karo-2.3.8.html","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2014-10075","tags":["advisory"]},{"url":"https://github.com/rahult/karo/blob/master/lib/karo/db.rb#L76","tags":["web"]},{"url":"https://github.com/rahult/karo/blob/master/lib/karo/db.rb#L95","tags":["web"]},{"url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/karo/CVE-2014-10075.yml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-qfwq-chf4-jvwg"},{"url":"https://github.com/rahult/karo","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2014-10075","description":"The karo gem 2.3.8 for Ruby allows Remote command injection via the host field.","status":"published","published":"2018-10-05T05:00:00Z","modified":"2024-09-16T19:20:49.993Z","updated_at":"2026-11-02T14:33:42.219637Z"}],"euvd":[{"id":"EUVD-2022-4963","description":"The karo gem 2.3.8 for Ruby allows Remote command injection via the host field.","status":"published","published":"2018-10-05T05:00:00Z","modified":"2024-09-16T19:20:49Z","updated_at":"2026-11-03T00:55:23.696592Z"}],"ghsa":[{"id":"GHSA-qfwq-chf4-jvwg","title":"karo Metacharacter Handling Remote Command Execution","description":"The karo gem through 2.5.2 for Ruby allows Remote command injection via the host field.\n\nA flaw in `db.rb` is triggered when handling metacharacters. This may allow a remote attacker to execute arbitrary commands.\n\nIn particular lines 76 and 95 (as of `2014-06-01`) pass unsanitized user supplied input to the command line. \n\n```\n73-      host = \"{@configuration[\"user\"]}@{@configuration[\"host\"]}\"\n74-      cmd  = \"ssh #{host} cat {server_db_config_file}\"\n75-\n76:      server_db_config_output = `{cmd}`\n79-\n--\n89- def drop_and_create_local_database(local_db_config)\n90-      command = case local_db_config[\"adapter\"]\n91-      when \"mysql2\"\n93-      when \"postgresql\"\n95-          dropdb -h #{local_db_config[\"host\"]} -U #{local_db_config[\"username\"]} --if-exists #{local_db_config[\"database\"]}\n```\n\nIf this gem is used in the context of a rails application malicious input could lead to remote command injection. As of version 2.5.2 the affected code lines have not changed.","status":"published","published":"2022-05-14T01:49:44Z","modified":"2023-03-29T20:26:17Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-77"],"updated_at":"2026-11-02T14:36:48.905887Z"}],"nvd":[{"id":"CVE-2014-10075","description":"The karo gem 2.3.8 for Ruby allows Remote command injection via the host field.","status":"published","published":"2018-10-05T06:29:00.483Z","modified":"2026-06-17T00:04:11.617Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-77"],"updated_at":"2026-11-02T14:02:59.001778Z"}],"osv":[{"id":"GHSA-qfwq-chf4-jvwg","title":"karo Metacharacter Handling Remote Command Execution","description":"The karo gem through 2.5.2 for Ruby allows Remote command injection via the host field.\n\nA flaw in `db.rb` is triggered when handling metacharacters. This may allow a remote attacker to execute arbitrary commands.\n\nIn particular lines 76 and 95 (as of `2014-06-01`) pass unsanitized user supplied input to the command line. \n\n```\n73-      host = \"{@configuration[\"user\"]}@{@configuration[\"host\"]}\"\n74-      cmd  = \"ssh #{host} cat {server_db_config_file}\"\n75-\n76:      server_db_config_output = `{cmd}`\n79-\n--\n89- def drop_and_create_local_database(local_db_config)\n90-      command = case local_db_config[\"adapter\"]\n91-      when \"mysql2\"\n93-      when \"postgresql\"\n95-          dropdb -h #{local_db_config[\"host\"]} -U #{local_db_config[\"username\"]} --if-exists #{local_db_config[\"database\"]}\n```\n\nIf this gem is used in the context of a rails application malicious input could lead to remote command injection. As of version 2.5.2 the affected code lines have not changed.","status":"published","published":"2022-05-14T01:49:44Z","modified":"2025-08-15T14:26:31.518025Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-77"],"updated_at":"2026-11-02T15:46:54.40888Z"}]}}
