{"id":"CVE-2018-3759","aliases":["EUVD-2018-0210","GHSA-2xvj-j3qh-x8c3"],"status":"published","title":"private_address_check contains race condition","description":"private_address_check ruby gem before 0.5.0 is vulnerable to a time-of-check time-of-use (TOCTOU) race condition due to the address the socket uses not being checked. DNS entries with a TTL of 0 can trigger this case where the initial resolution is a public address but the subsequent resolution is a private address.","severity":{"version":"3.0","score":3.7,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.0068,"percentile":0.52651,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-362"],"published":"2018-06-13T15:00:00Z","modified":"2026-10-20T10:50:26Z","fixes":[{"ecosystem":"RubyGems","package":"private_address_check","fixed_in":["0.5.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"RubyGems","package":"private_address_check","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.0"}]}]},{"source":"osv","ecosystem":"RubyGems","package":"private_address_check","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.0"}]}],"versions":["0.1.0","0.2.0","0.3.0","0.4.0","0.4.1"]}],"products":[{"vendor":"hackerone","product":"private_address_check ruby gem"},{"vendor":"private_address_check_project","product":"private_address_check"}],"references":[{"url":"https://github.com/jtdowney/private_address_check/commit/4068228187db87fea7577f7020099399772bb147","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-3759","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-2xvj-j3qh-x8c3","tags":["advisory"]},{"url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/private_address_check/CVE-2018-3759.yml","tags":["web"]},{"url":"https://github.com/jtdowney/private_address_check","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2018-3759","description":"private_address_check ruby gem before 0.5.0 is vulnerable to a time-of-check time-of-use (TOCTOU) race condition due to the address the socket uses not being checked. DNS entries with a TTL of 0 can trigger this case where the initial resolution is a public address but the subsequent resolution is a private address.","status":"published","published":"2018-06-13T15:00:00Z","modified":"2024-09-16T20:26:38.707Z","cwes":["CWE-362"],"updated_at":"2026-11-02T14:35:05.619113Z"}],"euvd":[{"id":"EUVD-2018-0210","description":"private_address_check ruby gem before 0.5.0 is vulnerable to a time-of-check time-of-use (TOCTOU) race condition due to the address the socket uses not being checked. DNS entries with a TTL of 0 can trigger this case where the initial resolution is a public address but the subsequent resolution is a private address.","status":"published","published":"2018-06-13T15:00:00Z","modified":"2024-09-16T20:26:38Z","updated_at":"2026-11-03T00:55:14.02226Z"}],"ghsa":[{"id":"GHSA-2xvj-j3qh-x8c3","title":"private_address_check contains race condition","description":"The private_address_check ruby gem before 0.5.0 is vulnerable to a time-of-check time-of-use (TOCTOU) race condition due to the address the socket uses not being checked. DNS entries with a TTL of 0 can trigger this case where the initial resolution is a public address but the subsequent resolution is a private address.","status":"published","published":"2018-07-31T18:13:05Z","modified":"2023-08-25T21:42:20Z","cwes":["CWE-362"],"updated_at":"2026-11-02T14:37:00.680009Z"}],"nvd":[{"id":"CVE-2018-3759","description":"private_address_check ruby gem before 0.5.0 is vulnerable to a time-of-check time-of-use (TOCTOU) race condition due to the address the socket uses not being checked. DNS entries with a TTL of 0 can trigger this case where the initial resolution is a public address but the subsequent resolution is a private address.","status":"published","published":"2018-06-13T15:29:00.267Z","modified":"2026-06-17T01:57:46.987Z","cvss":[{"version":"3.0","score":3.7,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low","assessor":"primary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:P/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-362"],"updated_at":"2026-11-02T14:04:29.837913Z"}],"osv":[{"id":"CVE-2018-3759","description":"private_address_check ruby gem before 0.5.0 is vulnerable to a time-of-check time-of-use (TOCTOU) race condition due to the address the socket uses not being checked. DNS entries with a TTL of 0 can trigger this case where the initial resolution is a public address but the subsequent resolution is a private address.","status":"published","published":"2018-06-13T15:29:00.267Z","modified":"2026-10-20T10:50:26.702993172Z","cvss":[{"version":"3.0","score":3.7,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T15:44:09.442568Z"},{"id":"GHSA-2xvj-j3qh-x8c3","title":"private_address_check contains race condition","description":"The private_address_check ruby gem before 0.5.0 is vulnerable to a time-of-check time-of-use (TOCTOU) race condition due to the address the socket uses not being checked. DNS entries with a TTL of 0 can trigger this case where the initial resolution is a public address but the subsequent resolution is a private address.","status":"published","published":"2018-07-31T18:13:05Z","modified":"2024-11-29T05:42:10.115216Z","cwes":["CWE-362"],"updated_at":"2026-11-02T15:46:35.050232Z"}]}}
