CVE-2024-27281: Medium severity rubygems/rdoc vulnerability
An issue was discovered in RDoc 6.3.3 through 6.6.2, as distributed in Ruby 3.x through 3.3.0.
When parsing .rdocoptions (used for configuration in RDoc) as a YAML file, object injection and resultant remote code execution are possible because there are no restrictions on the classes that can be restored.
When loading the documentation cache, object injection and resultant remote code execution are also possible if there were a crafted cache.
Other sources
An issue was discovered in RDoc 6.3.3 through 6.6.2, as distributed in Ruby 3.x through 3.3.0.
When parsing .rdocoptions (used for configuration in RDoc) as a YAML file, object injection and resultant remote code execution are possible because there are no restrictions on the classes that can be restored.
When loading the documentation cache, object injection and resultant remote code execution are also possible if there were a crafted cache.
We recommend to update the RDoc gem to version 6.6.3.1 or later. In order to ensure compatibility with bundled version in older Ruby series, you may update as follows instead:
For Ruby 3.0 users: Update to rdoc 6.3.4.1 For Ruby 3.1 users: Update to rdoc 6.4.1.1 For Ruby 3.2 users: Update to rdoc 6.5.1.1
You can use gem update rdoc to update it. If you are using bundler, please add gem "rdoc", ">= 6.6.3.1" to your Gemfile.
Note: 6.3.4, 6.4.1, 6.5.1 and 6.6.3 have a incorrect fix. We recommend to upgrade 6.3.4.1, 6.4.1.1, 6.5.1.1 and 6.6.3.1 instead of them.
— GitHub
An issue was discovered in RDoc 6.3.3 through 6.6.2, as distributed in Ruby 3.x through 3.3.0. When parsing .rdocoptions (used for configuration in RDoc) as a YAML file, object injection and resultant remote code execution are possible because there are no restrictions on the classes that can be restored. (When loading the documentation cache, object injection and resultant remote code execution are also possible if there were a crafted cache.) The main fixed version is 6.6.3.1. For Ruby 3.0 users, a fixed version is rdoc 6.3.4.1. For Ruby 3.1 users, a fixed version is rdoc 6.4.1.1. For Ruby 3.2 users, a fixed version is rdoc 6.5.1.1.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-27281?
CVE-2024-27281 has a critical severity rating due to the potential for remote code execution.
How do I fix CVE-2024-27281?
To fix CVE-2024-27281, update RDoc to version 6.3.4.1 or later for affected versions.
What software is affected by CVE-2024-27281?
CVE-2024-27281 affects RDoc versions 6.3.3 through 6.6.2 distributed in Ruby 3.x through 3.3.0.
What could happen if CVE-2024-27281 is exploited?
Exploitation of CVE-2024-27281 could allow attackers to perform remote code execution on affected systems.
Is there a workaround for CVE-2024-27281 if I cannot update?
There are no known workarounds for CVE-2024-27281, and updating is the recommended solution.