CVE-2019-16060

9.8 CRITICAL

📋 TL;DR

CVE-2019-16060 is a critical information disclosure vulnerability in Airbrake Ruby notifier versions 4.2.3 where the blacklist_keys configuration fails to properly filter sensitive data like passwords. This allows unauthorized actors to access credentials transmitted through error reports. Only applications using Airbrake Ruby notifier version 4.2.3 are affected.

💻 Affected Systems

Products:
  • Airbrake Ruby notifier
Versions: Exactly version 4.2.3
Operating Systems: All operating systems running Ruby applications
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects applications using the blacklist_keys configuration option. Versions 4.2.2 and earlier, and 4.2.4 and later are unaffected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain access to authentication credentials, database passwords, API keys, and other sensitive configuration data, leading to complete system compromise.

🟠

Likely Case

Sensitive credentials and configuration data are exposed in error reports, potentially enabling credential theft and lateral movement.

🟢

If Mitigated

With proper network segmentation and access controls, impact is limited to the exposed credentials rather than full system compromise.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires access to error reports or the ability to trigger errors containing sensitive data.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.2.4

Vendor Advisory: https://github.com/airbrake/airbrake-ruby/issues/468

Restart Required: Yes

Instructions:

1. Update Gemfile to specify 'gem "airbrake-ruby", ">= 4.2.4"' 2. Run 'bundle update airbrake-ruby' 3. Restart your Ruby application

🔧 Temporary Workarounds

Downgrade to 4.2.2

all

Revert to unaffected version 4.2.2

gem install airbrake-ruby -v 4.2.2
bundle update airbrake-ruby --conservative

Disable Airbrake error reporting

all

Temporarily disable Airbrake error reporting until patched

Set Airbrake.configure { |config| config.environment = "development" } in initializer

🧯 If You Can't Patch

  • Implement network segmentation to restrict access to Airbrake error reporting endpoints
  • Review and rotate all potentially exposed credentials immediately

🔍 How to Verify

Check if Vulnerable:

Check Gemfile.lock or run 'bundle show airbrake-ruby' to see if version is exactly 4.2.3

Check Version:

bundle show airbrake-ruby | grep -o "airbrake-ruby.*"

Verify Fix Applied:

Confirm version is 4.2.4 or later with 'bundle show airbrake-ruby'

📡 Detection & Monitoring

Log Indicators:

  • Unexpected access to error reports containing sensitive data
  • Authentication failures following error report access

Network Indicators:

  • Unusual traffic to Airbrake API endpoints from unexpected sources

SIEM Query:

source="airbrake" AND (event_type="error" OR event_type="exception") AND sensitive_keywords

🔗 References

📤 Share & Export