CVE-2019-8324 Code injection in RubyGems
Attackers can execute arbitrary code by crafting a gem with a multi-line name, exploiting improper handling in RubyGems during preinstall checks.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2019-8324?
CVE-2019-8324 is a high-severity code injection vulnerability in Debian Debian Linux, published on 17 Jun 2019. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
An issue was discovered in RubyGems 2.6 and later through 3.0.2. A crafted gem with a multi-line name is not handled correctly. Therefore, an attacker could inject arbitrary code to the stub line of gemspec, which is eval-ed by code in ensure_loadable_spec during the preinstall check.
Weakness: CWE-94
Which versions are affected by CVE-2019-8324?
4 open source packages ship an affected version, including rubygems-update. It affects 4 products.
| Package | Affected | Fixed in |
|---|---|---|
rubygems-update RubyGems | From 2.6.0 | 2.7.9 |
rubygems-update RubyGems | From 2.6.0 | 2.7.9 |
rubygems-update RubyGems | From 3.0.0 | 3.0.2 |
rubygems-update RubyGems | From 3.0.0 | 3.0.2 |
Linux distribution packages (36)
rubygem-abrt AlmaLinux:8 | All versions | 0.3.0-4.module_el8.5.0+259+8cec6917 |
rubygem-abrt AlmaLinux:8 | All versions | 0.3.0-4.module_el8.5.0+2623+08a8ba32 |
rubygem-abrt-doc AlmaLinux:8 | All versions | 0.3.0-4.module_el8.5.0+259+8cec6917 |
rubygem-abrt-doc AlmaLinux:8 | All versions | 0.3.0-4.module_el8.5.0+2623+08a8ba32 |
rubygem-bson AlmaLinux:8 | All versions | 4.3.0-2.module_el8.5.0+259+8cec6917 |
rubygem-bson AlmaLinux:8 | All versions | 4.3.0-2.module_el8.5.0+2625+ec418553 |
rubygem-bson-doc AlmaLinux:8 | All versions | 4.3.0-2.module_el8.5.0+259+8cec6917 |
rubygem-bson-doc AlmaLinux:8 | All versions | 4.3.0-2.module_el8.5.0+2625+ec418553 |
rubygem-mongo AlmaLinux:8 | All versions | 2.5.1-2.module_el8.5.0+259+8cec6917 |
rubygem-mongo AlmaLinux:8 | All versions | 2.5.1-2.module_el8.5.0+2625+ec418553 |
rubygem-mongo-doc AlmaLinux:8 | All versions | 2.5.1-2.module_el8.5.0+259+8cec6917 |
rubygem-mongo-doc AlmaLinux:8 | All versions | 2.5.1-2.module_el8.5.0+2625+ec418553 |
rubygem-mysql2 AlmaLinux:8 | All versions | 0.4.10-4.module_el8.5.0+259+8cec6917 |
rubygem-mysql2 AlmaLinux:8 | All versions | 0.4.10-4.module_el8.5.0+2625+ec418553 |
rubygem-mysql2-doc AlmaLinux:8 | All versions | 0.4.10-4.module_el8.5.0+259+8cec6917 |
rubygem-mysql2-doc AlmaLinux:8 | All versions | 0.4.10-4.module_el8.5.0+2625+ec418553 |
rubygem-pg AlmaLinux:8 | All versions | 1.0.0-2.module_el8.5.0+259+8cec6917 |
rubygem-pg AlmaLinux:8 | All versions | 1.0.0-2.module_el8.5.0+2625+ec418553 |
rubygem-pg-doc AlmaLinux:8 | All versions | 1.0.0-2.module_el8.5.0+259+8cec6917 |
rubygem-pg-doc AlmaLinux:8 | All versions | 1.0.0-2.module_el8.5.0+2625+ec418553 |
ruby Red Hat:enterprise_linux:8::appstream | All versions | 0:2.5.3-104.module+el8.0.0+3250+4b7d6d43 |
ruby-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:2.5.3-104.module+el8.0.0+3250+4b7d6d43 |
ruby-debugsource Red Hat:enterprise_linux:8::appstream | All versions | 0:2.5.3-104.module+el8.0.0+3250+4b7d6d43 |
ruby-devel Red Hat:enterprise_linux:8::appstream | All versions | 0:2.5.3-104.module+el8.0.0+3250+4b7d6d43 |
ruby-doc Red Hat:enterprise_linux:8::appstream | All versions | 0:2.5.3-104.module+el8.0.0+3250+4b7d6d43 |
ruby-irb Red Hat:enterprise_linux:8::appstream | All versions | 0:2.5.3-104.module+el8.0.0+3250+4b7d6d43 |
ruby-libs Red Hat:enterprise_linux:8::appstream | All versions | 0:2.5.3-104.module+el8.0.0+3250+4b7d6d43 |
ruby-libs-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:2.5.3-104.module+el8.0.0+3250+4b7d6d43 |
rubygem-abrt Red Hat:enterprise_linux:8::appstream | All versions | 0:0.3.0-4.module+el8.0.0+3250+4b7d6d43 |
rubygem-abrt-doc Red Hat:enterprise_linux:8::appstream | All versions | 0:0.3.0-4.module+el8.0.0+3250+4b7d6d43 |
rubygem-bigdecimal Red Hat:enterprise_linux:8::appstream | All versions | 0:1.3.4-104.module+el8.0.0+3250+4b7d6d43 |
rubygem-bigdecimal-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:1.3.4-104.module+el8.0.0+3250+4b7d6d43 |
rubygem-bson Red Hat:enterprise_linux:8::appstream | All versions | 0:4.3.0-2.module+el8.0.0+3250+4b7d6d43 |
rubygem-bson-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.3.0-2.module+el8.0.0+3250+4b7d6d43 |
rubygem-bson-debugsource Red Hat:enterprise_linux:8::appstream | All versions | 0:4.3.0-2.module+el8.0.0+3250+4b7d6d43 |
rubygem-bson-doc Red Hat:enterprise_linux:8::appstream | All versions | 0:4.3.0-2.module+el8.0.0+3250+4b7d6d43 |
Products include Debian Debian Linux, Opensuse Leap, Redhat Enterprise Linux, Rubygems Rubygems.
How do I fix CVE-2019-8324?
Upgrade rubygems-update to a fixed version for your release line: 2.7.9 or 3.0.2.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2019-8324 being exploited?
There is no known exploitation of CVE-2019-8324 in the wild and no public exploit code.
Other vulnerabilities in Debian Debian Linux
Sources
Also known as ALPINE-CVE-2019-8324, ALSA-2019:1972, DEBIAN-CVE-2019-8324, GHSA-76wm-422q-92mq, RHSA-2019:1151, RHSA-2019:1972 and 2 more.