Skip to content

Python dependency CVEs: aiohttp, cryptography, curl-cffi need minimum version bumps #10695

@shaun0927

Description

@shaun0927

Summary

Several Python dependencies have known CVEs affecting versions currently allowed by pyproject.toml minimum version specifiers. Issue #9027 tracks JS-side dependency audit; this covers the Python side.

Affected packages

Package Current spec Installed CVEs Safe version
aiohttp >=3.13.3 (messaging), >=3.9.0 (others) 3.13.3 CVE-2026-34518 (cookie/proxy-auth leak on cross-origin redirect), CVE-2026-34519 (response reason injection), CVE-2026-34520 (null bytes in headers), CVE-2026-34525 (multiple Host headers) >=3.13.4
cryptography (transitive) 46.0.4 CVE-2026-39892 (buffer overflow on non-contiguous buffers) >=46.0.7
curl-cffi (transitive) 0.13.0 CVE-2026-33752 (SSRF via redirect following) >=0.15.0

Direct impact on hermes-agent

  • aiohttp: Directly used by the gateway API server, all webhook platform adapters (Telegram, Discord, Slack, Matrix, Mattermost, WeCom, Feishu), and the ACP adapter. The cookie/auth leak on cross-origin redirect (CVE-2026-34518) is particularly relevant for the gateway which handles OAuth tokens.
  • cryptography: Used transitively via PyJWT and other packages for JWT verification and TLS.
  • curl-cffi: Used for HTTP requests with browser-like TLS fingerprints. The SSRF-via-redirect CVE is relevant since hermes-agent already has is_safe_url() protection that could be bypassed at the transport layer.

Note on PyJWT

pyproject.toml already specifies PyJWT[crypto]>=2.12.0 with a CVE-2026-32597 comment — good. The installed version (2.11.0) may lag behind the spec in existing environments; a pip install --upgrade or lockfile refresh would resolve this.

Suggested changes

# pyproject.toml
"aiohttp>=3.13.4,<4"        # was >=3.13.3 / >=3.9.0

For transitive dependencies (cryptography, curl-cffi), consider adding explicit lower bounds or running pip-audit in CI to catch regressions.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High — major feature broken, no workaroundcomp/agentCore agent loop, run_agent.py, prompt buildercomp/gatewayGateway runner, session dispatch, deliverytype/securitySecurity vulnerability or hardening

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions