CVE-2018-16476
Description
Active Job versions >=4.2.0 have a broken access control vulnerability allowing attackers to deserialize arbitrary objects via GlobalId, leading to information exposure.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Active Job versions >=4.2.0 have a broken access control vulnerability allowing attackers to deserialize arbitrary objects via GlobalId, leading to information exposure.
Vulnerability
A broken access control vulnerability exists in Active Job versions >=4.2.0 and before the fixed versions (4.2.11, 5.0.7.1, 5.1.6.1, 5.2.1.1). The bug allows an attacker to craft user input that, when processed by Active Job, causes deserialization using GlobalId, bypassing intended access controls. This affects the deserialization of job arguments. [1]
Exploitation
An attacker needs to supply malicious input that Active Job will deserialize using GlobalId. The input can be provided via job arguments if the attacker can control them (e.g., through a web application that enqueues jobs with user-supplied parameters). No authentication is required if the input reaches the deserialization path. The attacker crafts a GlobalId string pointing to an object they should not have access to, which is then deserialized. [1][4]
Impact
Successful exploitation leads to information exposure, allowing the attacker to access objects and data they are not authorized to see. The impact is limited to information disclosure; remote code execution is not reported. The vulnerability is rated as moderate severity by Red Hat. [1][2]
Mitigation
The vulnerability is fixed in Active Job versions 4.2.11, 5.0.7.1, 5.1.6.1, and 5.2.1.1. Users should upgrade to one of these versions or later. Red Hat has released an advisory (RHSA-2019:0600) for CloudForms users. No workaround is available. [1][2][4]
AI Insight generated on May 22, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
activejobRubyGems | >= 4.2.0, < 4.2.11 | 4.2.11 |
activejobRubyGems | >= 5.0.0, < 5.0.7.1 | 5.0.7.1 |
activejobRubyGems | >= 5.1.0, < 5.1.6.1 | 5.1.6.1 |
activejobRubyGems | >= 5.2.0, < 5.2.1.1 | 5.2.1.1 |
Affected products
5- ghsa-coords5 versionspkg:gem/activejobpkg:rpm/suse/rubygem-activejob-4_2&distro=SUSE%20Enterprise%20Storage%204pkg:rpm/suse/rubygem-activejob-4_2&distro=SUSE%20OpenStack%20Cloud%207pkg:rpm/suse/rubygem-activejob-4_2&distro=SUSE%20OpenStack%20Cloud%20Crowbar%208pkg:rpm/suse/rubygem-activejob-5_1&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015
>= 4.2.0, < 4.2.11+ 4 more
- (no CPE)range: >= 4.2.0, < 4.2.11
- (no CPE)range: < 4.2.9-3.6.1
- (no CPE)range: < 4.2.9-3.6.1
- (no CPE)range: < 4.2.9-3.6.1
- (no CPE)range: < 5.1.4-3.3.1
Patches
1970b0d754be7Do not deserialize GlobalID objects that were not generated by Active Job
2 files changed · +5 −1
activejob/lib/active_job/arguments.rb+1 −1 modified@@ -77,7 +77,7 @@ def serialize_argument(argument) def deserialize_argument(argument) case argument when String - GlobalID::Locator.locate(argument) || argument + argument when *TYPE_WHITELIST argument when Array
activejob/test/cases/argument_serialization_test.rb+4 −0 modified@@ -37,6 +37,10 @@ class ArgumentSerializationTest < ActiveSupport::TestCase assert_arguments_roundtrip [@person] end + test "should keep Global IDs strings as they are" do + assert_arguments_roundtrip [@person.to_gid.to_s] + end + test "should dive deep into arrays and hashes" do assert_arguments_roundtrip [3, [@person]] assert_arguments_roundtrip [{ "a" => @person }]
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
9- access.redhat.com/errata/RHSA-2019:0600ghsavendor-advisoryx_refsource_REDHATWEB
- github.com/advisories/GHSA-q2qw-rmrh-vv42ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2018-16476ghsaADVISORY
- github.com/rails/rails/commit/970b0d754be7c71a760d9b807eea32297fd838e3ghsaWEB
- github.com/rubysec/ruby-advisory-db/blob/master/gems/activejob/CVE-2018-16476.ymlghsaWEB
- groups.google.com/d/msg/rubyonrails-security/FL4dSdzr2zw/zjKVhF4qBAAJghsax_refsource_MISCWEB
- groups.google.com/forum/ghsaWEB
- weblog.rubyonrails.org/2018/11/27/Rails-4-2-5-0-5-1-5-2-have-been-releasedghsaWEB
- weblog.rubyonrails.org/2018/11/27/Rails-4-2-5-0-5-1-5-2-have-been-released/mitrex_refsource_MISC
News mentions
0No linked articles in our index yet.