Skip to content

fix(deps): patch aiohttp and cryptography Dependabot advisories - #551

Merged
dviejokfs merged 1 commit into
mainfrom
chore/dependabot-2026-08
Aug 4, 2026
Merged

dviejokfs merged 1 commit into
mainfrom
chore/dependabot-2026-08

Conversation

@dviejokfs

Copy link
Copy Markdown
Contributor

Closes 7 of the 9 open Dependabot alerts. The other 2 are upstream-blocked and verified unreachable — details and evidence below.

Fixed

sdks/python/uv.lock — aiohttp 3.14.1 → 3.14.3

Alert Severity Advisory
#189 High Out-of-bounds heap read in the C HTTP response parser error path (malformed chunked response)
#188 Moderate HTTP request smuggling via WebSocket upgrade
#187 Moderate WebSocket client accepts compressed frames without negotiated permessage-deflate

.github/skill-scanner-requirements.txt — aiohttp 3.14.1 → 3.14.3, cryptography 49.0.0 → 50.0.0

Alert Severity Advisory
#190 High cryptography: PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing
#186 High aiohttp: out-of-bounds heap read in C HTTP response parser
#185 Moderate aiohttp: HTTP request smuggling via WebSocket upgrade
#184 Moderate aiohttp: WebSocket compressed frames without permessage-deflate

Recompiled with --exclude-newer 2026-08-04T12:00:00Z plus targeted --upgrade-package aiohttp --upgrade-package cryptography, so only the two vulnerable packages move. cisco-ai-skill-scanner stays pinned at 2.0.12 and no other transitive pin changes:

$ git diff -U0 .github/skill-scanner-requirements.txt | grep -E '^[+-][a-z0-9_.-]+=='
+aiohttp==3.14.3 \
+cryptography==50.0.0 \
-aiohttp==3.14.1 \
-cryptography==49.0.0 \

Not fixed — upstream-blocked (notes in Cargo.toml refreshed)

Cargo.lock is unchanged, so the cargo audit result is byte-identical to main. No regression.

#4 protobuf 2.28.0 (via pingora-core 0.8.1 → prometheus 0.13.4) — fixed on pingora main, not yet released. pingora main @402acae (2026-07-27) removed prometheus from pingora-core entirely and split it into a new pingora-prometheus crate declaring prometheus = "0.14" (protobuf 3.x). crates.io latest is still 0.8.1, which predates the split. Deliberately not pinning to a git rev: putting the whole proxy/edge hot path on unreleased upstream code is a larger risk than an advisory verified unreachable. Action noted in Cargo.toml: bump when the release carrying the split ships.

#151 opentelemetry_sdk 0.30.0 (via the getsentry/relay git pin → opentelemetry-proto 0.30) — bumping the relay rev does not fix this. The prior note said the fix was "move the pin to a rev using opentelemetry 0.32+". Verified that no such rev exists: relay master @3215baa is on opentelemetry-proto 0.31, and 0.31's trace feature still resolves opentelemetry_sdk 0.31 — below the 0.32.1 fix. Confirmed with a probe build:

$ cargo add opentelemetry-proto@0.31 --no-default-features --features gen-tonic,trace
$ cargo tree -i opentelemetry_sdk
opentelemetry_sdk v0.31.0

relay must adopt opentelemetry-proto 0.32 first. Moving the pin 897 commits forward would buy relay-protocol API churn and still leave the alert open.

Reachability for both re-verified on today's main (previous stamp was 2026-07-25) — both greps return zero hits under crates/:

$ grep -rn "ProtobufEncoder\|TextEncoder\|protobuf::\|PrometheusServer" --include="*.rs" crates/   # (no output)
$ grep -rni "baggage" --include="*.rs" crates/                                                     # (no output)

Evidence

Both lockfiles install cleanly with hashes enforced, and the scanner CLI still runs on a real skill with the upgraded deps:

$ uv pip install --requirement .github/skill-scanner-requirements.txt --require-hashes
... + yara-x==1.19.0  + yarl==1.24.2  + zipp==4.1.0   (91 packages, no hash failures)

$ python -c "import aiohttp, cryptography; print(aiohttp.__version__, cryptography.__version__)"
3.14.3 50.0.0

$ skill-scanner scan skills/add-custom-domain/ --policy balanced --use-behavioral --format table --fail-on-severity high
| Severity   |   Count |
| Critical   |       0 |
| High       |       0 |
| Medium     |       0 |
| Low        |       0 |
| Info       |       1 |
EXIT=0
$ cd sdks/python && uv lock --check && uv sync --frozen
Resolved 21 packages in 7ms   (lock consistent, syncs clean)
$ cargo metadata --format-version 1 --no-deps    # Cargo.toml parses OK

Closes 7 of the 9 open Dependabot alerts.

Python SDK (sdks/python/uv.lock):
- aiohttp 3.14.1 -> 3.14.3, fixing:
  - out-of-bounds heap read in the C HTTP response parser error path
    on malformed chunked responses (HIGH)
  - HTTP request smuggling via WebSocket upgrade (MODERATE)
  - WebSocket client accepting compressed frames without a negotiated
    permessage-deflate extension (MODERATE)

Skill scanner pins (.github/skill-scanner-requirements.txt):
- aiohttp 3.14.1 -> 3.14.3 (same three advisories)
- cryptography 49.0.0 -> 50.0.0, fixing the PKCS#7 EnvelopedData
  Bleichenbacher oracle exposed through distinguishable errors and
  timing (HIGH)

Recompiled with --exclude-newer 2026-08-04 and targeted
--upgrade-package flags so only the two vulnerable packages move;
cisco-ai-skill-scanner stays pinned at 2.0.12 and no other
transitive pin changes.

The remaining two alerts (protobuf 2.28.0, opentelemetry_sdk 0.30.0)
are upstream-blocked; the Cargo.toml notes are refreshed with what
verification found this pass. Cargo.lock is unchanged.
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

📓 Changelog preview

This is what your commits will add to the generated CHANGELOG.md at release time (via git-cliff). Do not edit CHANGELOG.md by hand — it is generated from your Conventional Commit messages.

## [Unreleased]

### Fixed

- **deps:** Patch aiohttp and cryptography Dependabot advisories

@dviejokfs
dviejokfs merged commit 8d043bc into main Aug 4, 2026
35 checks passed
@dviejokfs
dviejokfs deleted the chore/dependabot-2026-08 branch August 6, 2026 22:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant