fix(deps): bump aiohttp to 3.14.1 - #4237
Merged
Jan-Kazlouski-elastic merged 3 commits intoJul 21, 2026
Merged
Conversation
aiohttp < 3.14.1 queued HTTP/1 pipelined requests without a limit, allowing a DoS via excessive memory use; 3.14.1 caps the queue. aiohttp 3.14 also added a required stream_writer arg to ClientResponse (breaking aioresponses, which has no released fix) and deprecated BasicAuth / the auth= parameter. Add a self-gating aioresponses shim in the test conftests and ignore the two benign deprecation warnings so the suite stays green; no runtime behavior change. The auth API migration is deferred to a follow-up before aiohttp 4.0. Closes elastic/security#12526 Co-authored-by: Cursor <cursoragent@cursor.com>
Jan-Kazlouski-elastic
requested review from
artem-shelkovnikov and
erikcurrin-elastic
July 20, 2026 19:44
erikcurrin-elastic
approved these changes
Jul 20, 2026
erikcurrin-elastic
left a comment
There was a problem hiding this comment.
lgtm. Make sure we run a couple tests
Contributor
Author
Best-effort regression testing (bump is behavior-safe)Unit suites on Runtime client parity — real local HTTP server driven with
Identical behavior across the bump. The only |
Jan-Kazlouski-elastic
enabled auto-merge (squash)
July 21, 2026 06:10
This was referenced Jul 21, 2026
💔 Failed to create backport PR(s)
Successful backport PRs will be merged automatically after passing CI. To backport manually run: |
Jan-Kazlouski-elastic
added a commit
that referenced
this pull request
Jul 21, 2026
Backports the following commits to 9.3: - fix(deps): bump aiohttp to 3.14.1 (#4237) Co-authored-by: Jan-Kazlouski-elastic <jan.kazlouski@elastic.co> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Jan-Kazlouski-elastic
added a commit
that referenced
this pull request
Jul 21, 2026
Backports the following commits to 9.5: - fix(deps): bump aiohttp to 3.14.1 (#4237) Co-authored-by: Jan-Kazlouski-elastic <jan.kazlouski@elastic.co> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Jan-Kazlouski-elastic
added a commit
that referenced
this pull request
Jul 21, 2026
Backports the following commits to 9.4: - fix(deps): bump aiohttp to 3.14.1 (#4237) Co-authored-by: Jan-Kazlouski-elastic <jan.kazlouski@elastic.co> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Jan-Kazlouski-elastic
added a commit
that referenced
this pull request
Jul 21, 2026
Backports #4237 to `8.19`. ## What Bumps `aiohttp` `3.13.3` → `3.14.1` in `requirements/framework.txt`, remediating **21** reported `aiohttp` CVEs (every CVE fixed across aiohttp `3.13.4`, `3.14.0`, `3.14.1`). connectors uses `aiohttp` only as an HTTP **client** (`aiohttp.ClientSession`) and never runs an aiohttp web server, so the server-side CVEs in this set are **Not Affected** in practice; the bump is applied proactively to clear the advisories. This is the missing `8.19` line for #4237 — the `9.5`/`9.4`/`9.3` backports already merged (#4245/#4246/#4247), but no `8.19` backport was ever opened despite the `v8.19.20` label. ## aiohttp 3.14 test compatibility (no runtime change) aiohttp 3.14 made `stream_writer` a required kwarg of `ClientResponse` (which `aioresponses` omits) and deprecated `BasicAuth` / the `auth=` parameter. To keep the suite green with **no runtime behavior change**: - A self-gating `aioresponses` shim in `tests/conftest.py` — injects a no-op `stream_writer` when the caller omits it; inert on aiohttp `<3.14` and once `aioresponses` ships a fix. - Two benign deprecation warnings (`BasicAuth`, `auth=`) added to `pytest.ini` `filterwarnings`, consistent with existing third-party deprecation ignores. `NOTICE.txt` regenerated via `make install`. ## Testing `make clean install autoformat lint test PYTHON=python3.11` — lint clean, `NOTICE.txt` regenerated, and the full suite passes (2437 passed). The only non-green signals were the aggressive local `--fail-slow=1s` threshold flagging an otherwise-passing test and time/order-dependent flakes unrelated to this change. ## Release Note Bump `aiohttp` to `3.14.1` to remediate 21 reported CVEs. Part of elastic/security#12526 Made with [Cursor](https://cursor.com) Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of https://github.com/elastic/security/issues/12526
Bumps
aiohttp3.13.3→3.14.1in bothapp/connectors_serviceandlibs/connectors_sdk. This single bump remediates 21aiohttpCVEs currently reported against themainpin (3.13.3) — every CVE fixed in aiohttp3.13.4,3.14.0, and3.14.1. The full list (with tracking issues) is in the Scanner A/B section below.connectors uses
aiohttponly as an HTTP client (aiohttp.ClientSession) and never runs an aiohttp web server, so the server-side CVEs in this set are Not Affected in practice. The bump is applied proactively to clear the advisories and keep the dependency current.aiohttp 3.14 test compatibility (no runtime change)
aiohttp 3.14 added a required
stream_writerargument toClientResponse(which breaksaioresponses, which has no released fix) and deprecatedBasicAuth/ theauth=parameter. To keep the suite green with no runtime behavior change:aioresponsesshim in both testconftest.pyfiles — injects a no-opstream_writerwhen the caller omits it; inert on aiohttp<3.14and onceaioresponsesships a fix.BasicAuth,auth=) added tofilterwarnings, consistent with the existing third-party deprecation ignores in this repo.The
auth=/BasicAuth→encode_basic_auth()migration is deferred to a follow-up before aiohttp 4.0.Checklists
Pre-Review Checklist
config.yml.example)v7.13.2,v7.14.0,v8.0.0)Changes Requiring Extra Attention
Scanner A/B (aiohttp
3.13.3→3.14.1)Before =
aiohttp==3.13.3(currentmainpin) · After =aiohttp==3.14.1(this PR).pip-audit,Trivy, andSnykwere each run against both pins.3.13.3)3.14.1)All 21 CVEs / issues remediated by this PR — reported on
3.13.3by all three tools, clear on3.14.1:The 8 CVEs fixed in aiohttp
3.13.3(CVE-2025-69223…CVE-2025-69230, elastic/security#12492–#12499) are already remediated onmainand are out of scope for this PR.Release Note
Bump
aiohttpto3.14.1to remediate 21 reported CVEs.