CVE-2023-36617: ReDoS vulnerability in URI

We have released the uri gem version 0.12.2, 0.10.3 that has a security fix for a ReDoS vulnerability. This vulnerability has been assigned the CVE identifier CVE-2023-36617.

Details

A ReDoS issue was discovered in the URI component through 0.12.1 for Ruby. The URI parser mishandles invalid URLs that have specific characters. There is an increase in execution time for parsing strings to URI objects with rfc2396_parser.rb and rfc3986_parser.rb.

NOTE: this issue exists because of an incomplete fix for CVE-2023-28755.

The uri gem version 0.12.1 and all versions prior 0.12.1 are vulnerable for this vulnerability.

Recommended action

We recommend to update the uri gem to 0.12.2. In order to ensure compatibility with bundled version in older Ruby series, you may update as follows instead:

  • For Ruby 3.0: Update to uri 0.10.3
  • For Ruby 3.1: Update to uri 0.12.2
  • For Ruby 3.2: Update to uri 0.12.2, or update to Ruby 3.2.3

You can use gem update uri to update it. If you are using bundler, please add gem "uri", ">= 0.12.2" (or other version mentioned above) to your Gemfile.

Affected versions

  • uri gem 0.12.1 or before

Credits

Thanks to ooooooo_q for discovering this issue.

Thanks to nobu for fixing this issue.

History

  • Added a new recommended action for Ruby 3.2 at 2024-01-18 12:00:00 (UTC)
  • Originally published at 2023-06-29 01:00:00 (UTC)