fix(lsp): prevent header injection in LSP transport ASCII decoding
CI / push-validation (pull_request) Successful in 41s
CI / helm (pull_request) Successful in 43s
CI / build (pull_request) Successful in 1m8s
CI / lint (pull_request) Failing after 1m19s
CI / typecheck (pull_request) Successful in 1m38s
CI / quality (pull_request) Successful in 1m45s
CI / security (pull_request) Successful in 1m57s
CI / integration_tests (pull_request) Successful in 4m35s
CI / unit_tests (pull_request) Failing after 5m4s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 7s

Closes #7112

ISSUES CLOSED: #7112
EPIC REFERENCES: #824
This commit is contained in:
2026-05-15 01:49:47 +00:00
committed by Forgejo
parent 18e2fece4e
commit 26348a2c16
2 changed files with 6 additions and 0 deletions
+5
View File
@@ -272,6 +272,11 @@ Changed `wf10_batch.robot` to be less likely to create files, and
versions (<3.13.4) cannot be installed even if upstream transitive dependencies have loose
version constraints.
- **LSP transport header injection fix** (#10608 / #7112): The `_read_one_message()` method in
`src/cleveragents/lsp/transport.py` now uses `errors="strict"` instead of `errors="replace"` for
ASCII decoding of LSP headers, preventing header injection attacks. Non-ASCII bytes raise
`LspError`. A printable-ASCII guard rejects characters outside 0x20-0x7E range. Epic #824.
### Fixed
- **Error suppression removed from `reactive_registry_adapter.py`** (#9060): Removed two `try...except Exception:` blocks in `register_registry_agents()` that silently suppressed errors, violating the CONTRIBUTING.md fail-fast policy. Exceptions from `actor_registry.list_actors()` and the route bridge refresh now propagate to the caller instead of being swallowed. Added Behave scenarios verifying RuntimeError, AttributeError, and TypeError propagation.
+1
View File
@@ -28,6 +28,7 @@ Below are some of the specific details of various contributions.
* HAMZA KHYARI has contributed the ACMS execute-phase context assembler project-level hot_max_tokens fix (PR #11036 / issue #11035): added `_resolve_effective_budget()` method that reads each linked project's `settings.hot_max_tokens` and uses the maximum override value as the pipeline budget instead of the hardcoded global 16K default.
* This project was made possible thanks to considerable donation of time, money, and resources by CleverThis, Inc.
* HAL 9000 has contributed automated bug fixes, CLI output formatting improvements, and ongoing maintenance as part of the CleverAgents automation system.
* HAL 9000 has contributed the LSP transport header injection vulnerability fix (PR #10608 / issue #7112): restored strict ASCII decoding in `_read_one_message()` by using `errors="strict"`, added LspError exception raises on non-ASCII byte detection, and implemented a printable-ASCII guard rejecting characters outside the 0x20-0x7E codepoint range.
* HAL 9000 has contributed the file edit encoding parameter fix (PR #8258 / issue #7559).
* HAL 9000 has contributed the architecture-pool-supervisor milestone assignment feature (PR #8188 / issue #7521): added `forgejo_update_pull_request` permission and documented the PR workflow for major spec changes, enabling automatic milestone assignment for specification PRs.
* HAL 9000 has contributed the git worktree TOCTOU race condition fix (PR #8178 / issue #7507): replaced the unsafe mkdtemp() + rmdir() pattern with a parent-directory approach to eliminate the race window in concurrent git worktree operations.