Django REST framework: Accept header with many large quoted parameters burns ~19s of CPU per request in content negotiation
影響: pip:djangorestframework < 3.18.2 → 3.18.2
DRF's content negotiation parses each Accept token several times per request and never limits the number of tokens or their total size. Each parse ends up in Django's parse_header_parameters, which takes quadratic time when a quoted parameter value is packed with semicolons. On my machine a single GET with a 780KB Accept header made of 96 such tokens kept one gunicorn worker busy for 18.87 seconds (Django 6.1, djangorestframework 3.18.0, gunicorn 26.0.0, Python 3.13, Docker on macOS). The heade…
| CVE | CVE-2026-114138 |
|---|---|
| 情報源 | GitHub Advisory Database |
| 取得日時 | 2026/10/23 05:09 |
| データ | Markdown JSON |
2026/10/23 01:17、GitHub Advisory Databaseが「Django REST framework: Accept header with many large quoted parameters burns ~19s of CPU per request in content negotiation」を公開しました (種別: 脆弱性アドバイザリ)。重大度は「重要」(high) です。関連する技術: Python、Django、Docker。CVE: CVE-2026-114138。