An issue was discovered in RubyGems 2.6 and later through 3.0.2. Gem::GemcutterUtilities#with_response may output the API response to stdout as it is. Therefore, if the API side modifies the response, escape sequence injection may occur.
{ "binaries": [ { "binary_name": "libruby1.9.1", "binary_version": "1.9.3.484-2ubuntu1.14" }, { "binary_name": "libtcltk-ruby1.9.1", "binary_version": "1.9.3.484-2ubuntu1.14" }, { "binary_name": "ri1.9.1", "binary_version": "1.9.3.484-2ubuntu1.14" }, { "binary_name": "ruby1.9.1", "binary_version": "1.9.3.484-2ubuntu1.14" }, { "binary_name": "ruby1.9.1-dev", "binary_version": "1.9.3.484-2ubuntu1.14" }, { "binary_name": "ruby1.9.1-examples", "binary_version": "1.9.3.484-2ubuntu1.14" }, { "binary_name": "ruby1.9.1-full", "binary_version": "1.9.3.484-2ubuntu1.14" }, { "binary_name": "ruby1.9.3", "binary_version": "1.9.3.484-2ubuntu1.14" } ], "availability": "No subscription required" }
{ "binaries": [ { "binary_name": "libruby2.0", "binary_version": "2.0.0.484-1ubuntu2.13" }, { "binary_name": "ruby2.0", "binary_version": "2.0.0.484-1ubuntu2.13" }, { "binary_name": "ruby2.0-dev", "binary_version": "2.0.0.484-1ubuntu2.13" }, { "binary_name": "ruby2.0-tcltk", "binary_version": "2.0.0.484-1ubuntu2.13" } ], "availability": "No subscription required" }
{ "binaries": [ { "binary_name": "libruby2.3", "binary_version": "2.3.1-2~16.04.12" }, { "binary_name": "ruby2.3", "binary_version": "2.3.1-2~16.04.12" }, { "binary_name": "ruby2.3-dev", "binary_version": "2.3.1-2~16.04.12" }, { "binary_name": "ruby2.3-tcltk", "binary_version": "2.3.1-2~16.04.12" } ], "availability": "No subscription required" }