Skip to content

fix(security): require certifi>=2026.10.23 for the eMudhra distrust - #814

Closed
thomasrockhu-codecov wants to merge 5 commits into
mainfrom
th/cli-incident-updates
Closed

thomasrockhu-codecov wants to merge 5 commits into
mainfrom
th/cli-incident-updates

Conversation

@thomasrockhu-codecov

@thomasrockhu-codecov thomasrockhu-codecov commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Require certifi>=2026.10.23 and bump only certifi in uv.lock (2024.12.14 → 2026.10.23).
  • requests and sentry-sdk verify TLS against this bundle, and PyInstaller bundles it into the release binaries. 2026.10.23 drops the roots that cross-signed the compromised eMudhra intermediates (emSign Root TLS CA - G3 and Comodo AAA Certificate Services).
  • Covers CVE-2026-114406 for the CLI's own TLS verification. CVE-2026-111943 (Go) and CVE-2026-91403 (Java) do not apply; the CLI has no Go or Java code.

Test plan

  • uv run pytest — 720 passed
  • make command_dump produces no changes

Floor certifi at 2026.10.23 and regenerate the lock so uploads stop trusting the compromised intermediates. Build the Linux and Alpine binaries with Python 3.11.18, which carries the ssl denylist.

Co-authored-by: Cursor <cursoragent@cursor.com>
@codecov

codecov Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
723 1 722 1
View the full list of 1 ❄️ flaky test(s)
api.temp.calculator.test_calculator::test_divide

Flake rate in main: 100.00% (Passed 0 times, Failed 1726 times)

Stack Traces | 0.001s run time
def
                test_divide():
                > assert Calculator.divide(1, 2) == 0.5
                E assert 1.0 == 0.5
                E + where 1.0 = <function Calculator.divide at 0x104c9eb90>(1, 2)
                E + where <function Calculator.divide at 0x104c9eb90> = Calculator.divide
                .../temp/calculator/test_calculator.py:30: AssertionError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

thomasrockhu-codecov and others added 4 commits October 26, 2026 22:53
Alpine edge already ships Python 3.14.10, so the release job can use the distro interpreter. The binary needs musl 1.2.6.

Co-authored-by: Cursor <cursoragent@cursor.com>
The musl 1.2.2 build stays as it was. The Linux binaries still bundle Python 3.11.18.

Co-authored-by: Cursor <cursoragent@cursor.com>
Python 3.9 no longer satisfies requires-python. Pinning 3.10 lets uv fetch its own interpreter on Ubuntu 20.04, so the build script barely changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
The eMudhra CVEs only need the CLI to stop trusting the compromised CA bundle. Revert the other dependency, build, and test changes so they can land separately.

Co-authored-by: Cursor <cursoragent@cursor.com>
@thomasrockhu-codecov thomasrockhu-codecov changed the title fix(security): refresh CLI dependencies for the eMudhra distrust fix(security): require certifi>=2026.10.23 for the eMudhra distrust Oct 28, 2026
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