chore(release): v5.1.2 — Security patch (CWE-95 SymPy injection fix)#201
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (8)
✅ Files skipped from review due to trivial changes (8)
📝 WalkthroughWalkthroughVersion is bumped from 5.1.1 to 5.1.2 across all package manifests ( Changesv5.1.2 Release Bump
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
No dependency changes detected. Learn more about Socket for GitHub. 👍 No dependency changes detected in pull request |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@README.md`:
- Around line 63-72: The security label in the Release Update section uses the
imprecise term "CVE-requested" which creates inconsistency with the CVSS 8.8
severity rating referenced in CHANGELOG.md. Replace or clarify the
"CVE-requested" text in the parentheses after "High severity" to use either a
specific CVE identifier (if one has been assigned) or align the wording with the
CVSS severity metric already documented elsewhere. Ensure the release note
maintains consistent security terminology throughout.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 470aff95-fee7-401f-90de-a36f5b4109fe
⛔ Files ignored due to path filters (1)
sdk-ts/package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (8)
CHANGELOG.mdREADME.mddeploy/kubernetes/deployment.yamlpyproject.tomlsdk-rust/Cargo.tomlsdk-rust/README.mdsdk-ts/package.jsonsrc/qwed_new/api/main.py
Greptile SummaryThis is the v5.1.2 release PR, bumping version strings across all eight artefacts (PyPI, NPM, Rust crate, Docker image, API header, docs) after the CWE-95 security fix was already merged in PR #200. The diff itself only touches version identifiers; the substantive
Confidence Score: 5/5Safe to merge — the diff is version-string-only, and the underlying security fix was validated and merged before this release PR was opened. Every changed line in this PR is a version identifier (5.1.1 → 5.1.2). The safe_parse_expr implementation and all call-site replacements are in the base branch and are not touched here. The only stale artefact is a docstring example in exceptions.py that was outside this PR's diff entirely. No files in the diff require special attention; src/qwed_new/core/exceptions.py (outside the diff) has a stale docstring example worth updating in a follow-up. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[User expression string] --> B{Type and length check}
B -- fail --> ERR[SafeParserError]
B -- pass --> C{Denylist regex scan}
C -- match --> ERR
C -- no match --> D{AST depth check max 30}
D -- exceeds --> ERR
D -- pass --> E[Build safe local_dict]
E --> F[Copy global_dict with empty builtins]
F --> G[sympy parse_expr]
G --> H{Post-parse validation}
H -- fail --> ERR
H -- pass --> OK[Return SymPy expression]
Reviews (2): Last reviewed commit: "chore(release): bump version to 5.1.2" | Re-trigger Greptile |
- Bump core APP_VERSION, pyproject.toml, sdk-ts/package.json, sdk-rust/Cargo.toml, sdk-rust/README.md, k8s deployment image tag - Add CHANGELOG entry for v5.1.2 (CWE-95, CVSS 8.8) - Update README release section
6eec53b to
818cfd2
Compare
|



v5.1.2 — Security Patch Release
This is an emergency patch release. Fixes a High severity (CVSS 8.8) authenticated RCE vulnerability (CWE-95) in SymPy's
parse_expr()across all math verification paths.Security
safe_parse_expr()with denylist + stripped__builtins__+ allow-listed math namespace + per-call global dict copy + post-parse validation. Replaced all 17 directparse_expr()call sites.nsymbol mismatch causing incorrectdiff/integrate/limitresults.extra_symbolsvalidation.Included PRs
#197fix(ts-sdk): lockfile restore#198ci: CodSpeed benchmarks#199fix(cache): fail-closed Redis backend#200fix(math): restrict SymPy expression parsing (CWE-95)Version Bumps
Summary by CodeRabbit
Security
Chores