CVE-2023-26141
📋 TL;DR
This vulnerability in Sidekiq versions before 7.1.3 allows attackers to cause a Denial of Service (DoS) by manipulating localStorage values in the dashboard-charts.js file, triggering excessive polling requests. Anyone running vulnerable Sidekiq versions with the web dashboard enabled is affected.
💻 Affected Systems
- Sidekiq
📦 What is this software?
Sidekiq by Contribsys
Sidekiq by Contribsys
⚠️ Risk & Real-World Impact
Worst Case
Complete service unavailability due to resource exhaustion from excessive polling requests overwhelming the server.
Likely Case
Degraded performance and intermittent service disruptions affecting job processing reliability.
If Mitigated
Minimal impact with proper rate limiting and monitoring in place.
🎯 Exploit Status
Exploit requires access to the web dashboard interface but no authentication if dashboard is publicly accessible.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 7.1.3
Vendor Advisory: https://github.com/sidekiq/sidekiq/commit/62c90d7c5a7d8a378d79909859d87c2e0702bf89
Restart Required: Yes
Instructions:
1. Update Gemfile to 'gem "sidekiq", ">= 7.1.3"' 2. Run 'bundle update sidekiq' 3. Restart Sidekiq processes 4. Verify version with 'sidekiq --version'
🔧 Temporary Workarounds
Disable Web Dashboard
allRemove or restrict access to the Sidekiq web dashboard interface
Remove require 'sidekiq/web' from routes or configure authentication
Implement Rate Limiting
allAdd rate limiting to dashboard endpoints
Configure web server (nginx/apache) rate limiting or use Rack::Attack
🧯 If You Can't Patch
- Restrict network access to Sidekiq dashboard using firewall rules
- Implement strong authentication and IP whitelisting for dashboard access
🔍 How to Verify
Check if Vulnerable:
Check if Sidekiq version is below 7.1.3 and web dashboard is enabled
Check Version:
sidekiq --version
Verify Fix Applied:
Confirm Sidekiq version is 7.1.3 or higher and test dashboard functionality
📡 Detection & Monitoring
Log Indicators:
- Unusually high request frequency to /dashboard/charts endpoint
- Increased CPU/memory usage on Sidekiq server
Network Indicators:
- Spike in HTTP requests to dashboard endpoints
- Abnormal polling patterns
SIEM Query:
source="sidekiq.log" AND "dashboard" AND ("polling" OR "charts") | stats count by src_ip
🔗 References
- https://gist.github.com/keeganparr1/1dffd3c017339b7ed5371ed3d81e6b2a
- https://github.com/sidekiq/sidekiq/blob/6-x/web/assets/javascripts/dashboard.js%23L6
- https://github.com/sidekiq/sidekiq/commit/62c90d7c5a7d8a378d79909859d87c2e0702bf89
- https://security.snyk.io/vuln/SNYK-RUBY-SIDEKIQ-5885107
- https://gist.github.com/keeganparr1/1dffd3c017339b7ed5371ed3d81e6b2a
- https://github.com/sidekiq/sidekiq/blob/6-x/web/assets/javascripts/dashboard.js%23L6
- https://github.com/sidekiq/sidekiq/commit/62c90d7c5a7d8a378d79909859d87c2e0702bf89
- https://security.snyk.io/vuln/SNYK-RUBY-SIDEKIQ-5885107