Skip to content

fix(security): clear cryptography CVEs and time-box unfixable advisories#229

Merged
beenuar merged 1 commit into
mainfrom
fix/security-audit-cve-remediation
May 29, 2026
Merged

fix(security): clear cryptography CVEs and time-box unfixable advisories#229
beenuar merged 1 commit into
mainfrom
fix/security-audit-cve-remediation

Conversation

@beenuar
Copy link
Copy Markdown
Owner

@beenuar beenuar commented May 28, 2026

Summary

Gets the Security Audit workflow green on main. It was failing on two classes of HIGH/CRITICAL findings:

  • cryptography==42.0.8 (CVE-2024-12797, CVE-2026-26007, GHSA-h4gh-qq45-vh27, PYSEC-2026-35) — the connectors and osquery-tls services pinned cryptography = "^42.0.0", resolving to the vulnerable 42.0.8 while api/actions already floated to the clean 48.x line. Raised the floor to >=44.0.1,<49 so every service resolves to a patched release. No poetry.lock is tracked for these services, so the audit re-resolves directly from pyproject.toml.

  • Unfixable / framework-capped advisories — packages already at their newest version with no patched release, or transitive deps where a bump is risky and ineffective:

    • starlette (PYSEC-2026-161 affects even 1.0.0; CVE-2024-47874 / CVE-2025-54121 capped by fastapi<0.137)
    • langchain-openai, langchain-text-splitters, langgraph, langgraph-checkpoint (fresh 2026 advisories, no non-breaking fix yet)
    • serialize-javascript, fast-uri, @babel/plugin-transform-modules-systemjs (all at latest; build/tooling-only)
    • idna 3.13 (fresh, no fixed version)

    These get explicit, reasoned, 90-day time-boxed entries in security_audit_ignores.txt (expire 2026-08-25) for re-evaluation rather than silent suppression.

Test plan

  • python3 scripts/security_audit.py validate-ignores passes (12 entries, all within the 90-day window)
  • CI Security Audit passes on this PR
  • Confirm green after merge to main

Made with Cursor

The Security Audit workflow gates on HIGH/CRITICAL findings. Two classes of
high-severity findings were failing CI on main:

1. cryptography==42.0.8 (CVE-2024-12797, CVE-2026-26007, GHSA-h4gh-qq45-vh27,
   PYSEC-2026-35). The connectors and osquery-tls services pinned
   cryptography = "^42.0.0", which resolved to the vulnerable 42.0.8 while the
   api/actions services already floated up to the clean 48.x line. Raise the
   floor to >=44.0.1,<49 so all services resolve to a patched release. No
   poetry.lock is tracked for these services, so the audit re-resolves directly.

2. Advisories with no patched release available (packages already at their
   newest version) or framework-capped transitive deps where a bump is both
   risky and ineffective: starlette (PYSEC-2026-161 affects even 1.0.0),
   langchain/langgraph 2026 advisories, the latest serialize-javascript /
   fast-uri / babel system-modules plugin, and idna 3.13. These get explicit,
   reasoned, 90-day time-boxed entries in security_audit_ignores.txt for
   re-evaluation rather than a silent suppression.

validate-ignores passes (12 entries, all within the 90-day policy window).

Co-authored-by: Cursor <cursoragent@cursor.com>
@beenuar beenuar merged commit 48f1c34 into main May 29, 2026
24 checks passed
@beenuar beenuar deleted the fix/security-audit-cve-remediation branch May 29, 2026 00:02
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