Описание
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. From 2.0.0 until 3.14.4, multipart request processing can retain an unbounded number of open file descriptors. An unauthenticated attacker can consequently exhaust file descriptors with specially crafted multipart requests when a handler uses Request.post(). This issue is fixed in version 3.14.4.
A flaw was found in aiohttp. When processing multipart requests, the framework fails to properly limit the number of open file descriptors retained during request handling. An unauthenticated remote attacker can exploit this issue by sending specially crafted multipart requests, exhausting available file descriptors and causing a Denial of Service (DoS).
Отчет
This vulnerability is rated as Important for Red Hat products because an unauthenticated remote attacker can cause a denial of service without requiring user interaction or elevated privileges. In Red Hat environments, exposure is limited to services or containerized applications built with the aiohttp framework that explicitly handle multipart form uploads. When such endpoints are targeted, excessive file handle consumption can exhaust operating system resources, preventing the affected service from handling legitimate requests.
Меры по смягчению последствий
--- CME Mitigation Guidance (2026-10-20) --- Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure. The highest-value action is to enforce strict limits on multipart payload sizes and uploaded part counts in request handlers invoking Request.post() to prevent unbounded file descriptor allocation: upgrade to aiohttp 3.14.4 (or the fixed Ansible Automation Platform 24/Lightspeed Rhel/Rhoai/Odh Caikit Tgis Serving Rhel/Python3.11 Aiohttp/Koku/Exploit Intelligence/Vulnerability Analysis Rhel/Rhoai/Odh Trustyai Nemo Guardrails Server Rhel/Rhoai/Odh Kserve Storage Initializer Rhel/Rhoai/Odh Kserve Agent Rhel/Rhoai/Odh Kserve Controller Rhel/Rhoai/Odh Kserve Router Rhel/Rhaiis/Vllm Spyre Rhel/Rhaiis/Vllm Tpu Rhel/Cloudservices/Vulnerability Engine App/Rhoai/Odh Pipeline Runtime Datascience Cpu Py312 Rhel/Rhoai/Odh Pipeline Runtime Pytorch Cuda Py312 Rhel/Rhoai/Odh Pipeline Runtime Pytorch Rocm Py312 Rhel/Rhoai/Odh Pipeline Runtime Tensorflow Cuda Py312 Rhel/Rhoai/Odh Pipeline Runtime Tensorflow Rocm Py312 Rhel/Rhoai/Odh Workbench Jupyter Datascience Cpu Py312 Rhel/Rhoai/Odh Workbench Jupyter Pytorch Cuda Py312 Rhel/Rhoai/Odh Workbench Jupyter Pytorch Llmcompressor Cuda Py312 Rhel/Rhoai/Odh Workbench Jupyter Pytorch Rocm Py312 Rhel/Rhoai/Odh Workbench Jupyter Tensorflow Cuda Py312 Rhel/Rhoai/Odh Workbench Jupyter Tensorflow Rocm Py312 Rhel/Rhoai/Odh Workbench Jupyter Trustyai Cpu Py312 Rhel/Rhaiis/Vllm Cpu Rhel/Rhaiis/Vllm Neuron Rhel/Ansible Automation Platform 24/Controller Rhel/Ansible Automation Platform 25/Lightspeed Chatbot Rhel/Cloudservices/Insights Engine/Rhoai/Odh Ml Pipelines Runtime Generic Rhel/Rhoai/Odh Autorag Rhel/Rhoai/Odh Ta Lmes Job Rhel/Rhoai/Odh Th06 Cpu Torch291 Py312 Rhel/Rhoai/Odh Th06 Cuda130 Torch291 Py312 Rhel/Rhoai/Odh Training Cuda128 Torch29 Py312 Rhel/Rhoai/Odh Training Rocm64 Torch29 Py312 Rhel/Rhoai/Odh Vllm Gaudi Rhel/Rhai Early Access/Docling Serve Cuda Rhel/Automation Controller/Cloudservices/Floorist/Openshift Lightspeed/Lightspeed Ocp Rag Rhel/Rhoai/Odh Model Registry Job Async Upload Rhel/Rhaii/Vllm Gaudi Rhel/Rhaii/Vllm Neuron Rhel/Rhaii/Vllm Tpu Rhel/Rhoai/Odh Openvino Model Server Rhel/Rhoai/Odh Automl Rhel/Rhoai/Odh Kserve Autogluon Server Rhel/Rhoai/Odh Mlflow Rhel/Rhoai/Odh Llm D Kv Cache Rhel/Rhoai/Odh Th06 Cpu Torch210 Py312 Rhel/Rhoai/Odh Th06 Cuda130 Torch210 Py312 Rhel/Rhoai/Odh Th06 Rocm64 Torch291 Py312 Rhel/Ask Sre/Rhelai3/Bootc Gaudi Rhel/Ansible Automation Platform Tech Preview/Ee Minimal Rhel/Rhoai/Odh Training Cuda121 Torch24 Py311 Rhel/Rhoai/Odh Training Cuda124 Torch25 Py311 Rhel/Rhoai/Odh Training Cuda128 Torch28 Py312 Rhel/Rhoai/Odh Training Rocm62 Torch24 Py311 Rhel/Rhoai/Odh Training Rocm62 Torch25 Py311 Rhel/Rhoai/Odh Training Rocm64 Torch28 Py312 Rhel/Rhoai/Odh Trustyai Garak Lls Provider Dsp Rhel/Astro Virtual Assistant V/Lightspeed Core/Lightspeed Stack Rhel/Lightspeed Core/Rag Tool Cuda 12.9 Rhel/Mta/Mta Solution Server Rhel/Rhoai/Odh Feature Server Rhel/Rhoai/Odh Llama Stack Core Rhel/Rhoai/Odh Pipeline Runtime Pytorch Llmcompressor Cuda Py312 Rhel/Rhoai/Odh Mlserver Rhel/Rhai/Guidellm Rhel/Rhoai/Odh Pipeline Runtime Minimal Cpu Py312 Rhel/Rhoai/Odh Th Torch Cpu Py312 Rhel/Rhoai/Odh Th Torch Cuda Py312 Rhel/Rhoai/Odh Th Torch Rocm Py312 Rhel/Rhoai/Odh Workbench Jupyter Minimal Cpu Py312 Rhel/Rhoai/Odh Workbench Jupyter Minimal Cuda Py312 Rhel/Rhoai/Odh Workbench Jupyter Minimal Rocm Py312 Rhel/Rhaiis/Model Opt Cuda Rhel/Rhaiis/Vllm Cuda Rhel/Rhaiis/Vllm Rocm Rhel/Rhaii/Model Opt Cuda Rhel/Rhaii/Vllm Cpu Rhel/Rhaii/Vllm Cuda Rhel/Rhaii/Vllm Rocm Rhel/Rhaii/Vllm Spyre Rhel/Ansible Automation Platform 25/Controller Rhel/Ansible Automation Platform 25/Lightspeed Rhel/Ansible Automation Platform 26/Ansible Dev Tools Rhel/Ansible Automation Platform 26/Controller Rhel/Ansible Automation Platform 26/De Minimal Rhel/Ansible Automation Platform 26/De Supported Rhel/Ansible Automation Platform 26/Ee Minimal Rhel/Ansible Automation Platform 26/Ee Supported Rhel/Ansible Automation Platform 26/Hub Rhel/Ansible Automation Platform 26/Lightspeed Chatbot Rhel/Ansible Automation Platform 26/Lightspeed Rhel/Ansible Automation Platform 26/Platform Resource Runner Rhel/Ansible Automation Platform 27/Controller Rhel/Ansible Automation Platform 27/De Minimal Rhel/Ansible Automation Platform 27/De Supported Rhel/Ansible Automation Platform 27/Ee Control Plane Rhel/Ansible Automation Platform 27/Ee Minimal Rhel/Ansible Automation Platform 27/Ee Supported Rhel/Ansible Automation Platform 27/Hub Rhel/Ansible Automation Platform 27/Lightspeed Chatbot Rhel/Ansible Automation Platform 27/Lightspeed Rhel/Ansible Automation Platform 27/Platform Resource Runner Rhel/Ansible Automation Platform/Ee Minimal Rhel/Galaxy Ng/Automation Hub Container/Redhat User Workloads/Ansible Saas Ee/Ansible On Clouds/Gh Action Runner/Ansible Ai Connect Service/Insights Engine/Cloudservices/Subscription Central Automation/Google Lightspeed Agent/Lscore Deploy/Vulnerability Engine/Cloudservices/Sha Extractor/Lightspeed Core/Rag Tool Cpu Rhel/Openshift Lightspeed Tech Preview/Lightspeed Rag Tool Rhel/Openshift Lightspeed/Lightspeed Service Api Rhel/Rhoai/Odh Caikit Nlp Rhel/Rhoai/Odh Mlserver Cuda Rhel/Rhoai/Odh Workbench Codeserver Datascience Cpu Py312 Rhel/Discovery/Discovery Server Rhel/Rhelai3/Bootc Aws Cuda Rhel/Rhelai3/Bootc Azure Cuda Rhel/Rhelai3/Bootc Azure Rocm Rhel/Rhelai3/Bootc Cuda Rhel/Rhelai3/Bootc Gcp Cuda Rhel/Rhelai3/Bootc Rocm Rhel/Satellite/Iop Insights Engine Rhel/Satellite/Iop Vulnerability Engine Rhel/Python3.12 Aiohttp/Python Aiohttp/Insights Host Inventory/Aap Rag Content/Ansible Chatbot Stack/Aoc/Ee Aap Azure Sre/Ansible On Clouds/Aoc Utility/Redhat User Workloads/Release Service Utils Standalone/Lightspeed Services Ocp/Ocp Rules Rhel/App Sre/Managed Prometheus Exporter Initcontainer/App Sre/Managed Prometheus Exporter Base/Python3X Aiohttp builds), which replace tempfile.TemporaryFile with SpooledTemporaryFile to buffer file parts in memory up to 1 MB and enforce client_max_size on total received payload bytes, closing multipart HTTP POST requests containing numerous small file parts. Until patched, this is a concern on Network-accessible aiohttp HTTP servers where request handlers invoke Request.post() without authentication, so Restrict network access to unauthenticated HTTP endpoints that invoke Request.post(), or place an upstream proxy to drop multipart POST requests with excessive part counts. As a compensating measure, Configure systemd WatchdogSec and process Restart directives to detect hung processes and automatically restart instances during file descriptor starvation and Apply rate limiting and connection throttling on incoming HTTP POST requests by client IP to impede rapid exhaustion attempts. These controls limit blast radius and contain exploitation, but they do not fix the underlying file descriptor exhaustion defect — apply the upstream patch to fully remediate. Highest-impact CME: CME-1311 Input Size and Quantity Bounds Enforcement (high)
Затронутые пакеты
| Платформа | Пакет | Состояние | Рекомендация | Релиз |
|---|---|---|---|---|
| Exploit Intelligence | exploit-intelligence/vulnerability-analysis-rhel9 | Affected | ||
| Lightspeed Core | lightspeed-core/lightspeed-stack-rhel9 | Affected | ||
| Lightspeed Core | lightspeed-core/rag-tool-cpu-rhel9 | Affected | ||
| Lightspeed Core | lightspeed-core/rag-tool-cuda-12.9-rhel9 | Affected | ||
| Migration Toolkit for Applications 8 | mta/mta-solution-server-rhel9 | Affected | ||
| OpenShift Lightspeed | openshift-lightspeed/lightspeed-ocp-rag-rhel9 | Affected | ||
| OpenShift Lightspeed | openshift-lightspeed/lightspeed-service-api-rhel9 | Affected | ||
| OpenShift Lightspeed | openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9 | Affected | ||
| OpenShift Lightspeed | openshift-lightspeed/lightspeed-service-api-rhel9 | Affected | ||
| Red Hat AI Inference Server | rhaiis/model-opt-cuda-rhel9 | Not affected |
Показывать по
Ссылки на источники
Дополнительная информация
Статус:
EPSS
7.5 High
CVSS3
Связанные уязвимости
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. From 2.0.0 until 3.14.4, multipart request processing can retain an unbounded number of open file descriptors. An unauthenticated attacker can consequently exhaust file descriptors with specially crafted multipart requests when a handler uses Request.post(). This issue is fixed in version 3.14.4.
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. From 2.0.0 until 3.14.4, multipart request processing can retain an unbounded number of open file descriptors. An unauthenticated attacker can consequently exhaust file descriptors with specially crafted multipart requests when a handler uses Request.post(). This issue is fixed in version 3.14.4.
AIOHTTP is an asynchronous HTTP client/server framework for asyncio an ...
ELSA-2026-604898: python-oci-sdk security update (IMPORTANT)
EPSS
7.5 High
CVSS3