curl
A use after free leaves a dangling transfer reference.
CVE-2026-92392CWE-416
Functions the fix touched:
multi_done(primary)
SIX TOOLS / THE FULL RECORD
A use after free leaves a dangling transfer reference.
CVE-2026-92392CWE-416
Functions the fix touched:
multi_done (primary)Leaked concurrency slots can stop new requests.
CVE-2026-107286CWE-772
Functions the fix touched:
ConcurrencyLimitedModel.request_stream (primary)ConcurrencyLimiter.__init__ (primary)ConcurrencyLimiter.release (primary)ConcurrencyLimiter.acquire (secondary)ConcurrencyLimitedModel.request (secondary)ConcurrencyLimitedModel.count_tokens (secondary)ConcurrencyLimitedModel.compact_messages (secondary)_PreparedAgentRun.open (secondary)_prepare_request (secondary)Skipped signature checks can let forged tokens pass.
CVE-2026-107720CWE-347;CWE-20
Functions the fix touched:
createVerifier (primary)Unsafe deserialization can invoke a callable.
CVE-2026-104846CWE-843
Functions the fix touched:
deserializePromise (primary)deserializePromiseResolve (primary)deserializePromiseReject (primary)deserialize (secondary)Path traversal can write files outside the intended directory.
CVE-2026-107377CWE-22;CWE-73
Functions the fix touched:
_ProtoInputPreparer._write_missing_weak_imports (primary)_ProtoInputPreparer.__enter__ (secondary)| Target | Claude Code's security plugin | /security-review | Codex Security | Plain Claude Code | Plain Codex | Semgrep |
|---|---|---|---|---|---|---|
| curl | not run | not run | skipped for budget | not run | run1: stopped by OpenAI's safeguard run2: stopped by OpenAI's safeguard run3: stopped by OpenAI's safeguard | run1: missed run2: missed run3: missed |
| pydantic-ai | not run | not run | stopped at a cost cap, no report | not run | run1: missed run2: missed run3: missed | run1: missed run2: missed run3: missed |
| fast-jwt | run1: caught | run1: missed | run1: caught | run1: caught | run1: stopped by OpenAI's safeguard run2: stopped by OpenAI's safeguard run3: stopped by OpenAI's safeguard | run1: missed run2: missed run3: missed |
| seroval | not run | run1: missed | run1: missed | run1: missed | run1: stopped by OpenAI's safeguard run2: stopped by OpenAI's safeguard run3: stopped by OpenAI's safeguard | run1: missed run2: missed run3: missed |
| datamodel-code-generator | not run | not run | stopped for budget, no report | run1: caught | run1: stopped by OpenAI's safeguard run2: stopped by OpenAI's safeguard run3: stopped by OpenAI's safeguard | run1: missed run2: missed run3: missed |
| Tool | Target | Run | Result | Other findings | Minutes | List-price US$ |
|---|---|---|---|---|---|---|
| Plain Codex | curl | run1 | stopped by OpenAI's safeguard | 0 | 5.0 | 0.71 |
| Plain Codex | curl | run2 | stopped by OpenAI's safeguard | 0 | 4.8 | 0.73 |
| Plain Codex | curl | run3 | stopped by OpenAI's safeguard | 0 | 5.7 | 1.02 |
| Semgrep | curl | run1 | missed | 0 | 0.1 | not measured |
| Semgrep | curl | run2 | missed | 0 | 0.1 | not measured |
| Semgrep | curl | run3 | missed | 0 | 0.1 | not measured |
| Plain Claude Code | datamodel-code-generator | run1 | caught | 0 | 14.1 | 8.44 |
| Plain Codex | datamodel-code-generator | run1 | stopped by OpenAI's safeguard | 0 | 1.4 | 0.21 |
| Plain Codex | datamodel-code-generator | run2 | stopped by OpenAI's safeguard | 0 | 2.6 | 0.28 |
| Plain Codex | datamodel-code-generator | run3 | stopped by OpenAI's safeguard | 0 | 3.0 | 0.32 |
| Semgrep | datamodel-code-generator | run1 | missed | 19 | 0.1 | not measured |
| Semgrep | datamodel-code-generator | run2 | missed | 19 | 0.1 | not measured |
| Semgrep | datamodel-code-generator | run3 | missed | 19 | 0.1 | not measured |
| Claude Code's security plugin | fast-jwt | run1 | caught | 1 | 18.9 | 13.47 |
| /security-review | fast-jwt | run1 | missed | 0 | 6.8 | 1.44 |
| Codex Security | fast-jwt | run1 | caught | 4 | 33.3 | 21.81 |
| Plain Claude Code | fast-jwt | run1 | caught | 4 | 3.5 | 0.98 |
| Plain Codex | fast-jwt | run1 | stopped by OpenAI's safeguard | 0 | 2.1 | 0.17 |
| Plain Codex | fast-jwt | run2 | stopped by OpenAI's safeguard | 0 | 2.8 | 0.19 |
| Plain Codex | fast-jwt | run3 | stopped by OpenAI's safeguard | 0 | 2.7 | 0.18 |
| Semgrep | fast-jwt | run1 | missed | 7 | 0.1 | not measured |
| Semgrep | fast-jwt | run2 | missed | 7 | 0.1 | not measured |
| Semgrep | fast-jwt | run3 | missed | 7 | 0.0 | not measured |
| Plain Codex | pydantic-ai | run1 | missed | 4 | 5.3 | 0.59 |
| Plain Codex | pydantic-ai | run2 | missed | 2 | 6.3 | 0.78 |
| Plain Codex | pydantic-ai | run3 | missed | 3 | 5.3 | 0.74 |
| Semgrep | pydantic-ai | run1 | missed | 1 | 0.2 | not measured |
| Semgrep | pydantic-ai | run2 | missed | 1 | 0.2 | not measured |
| Semgrep | pydantic-ai | run3 | missed | 1 | 0.2 | not measured |
| /security-review | seroval | run1 | missed | 2 | 4.4 | 1.72 |
| Codex Security | seroval | run1 | missed | 78 | 86.1 | 51.21 |
| Plain Claude Code | seroval | run1 | missed | 8 | 3.0 | 1.29 |
| Plain Codex | seroval | run1 | stopped by OpenAI's safeguard | 0 | 1.3 | 0.16 |
| Plain Codex | seroval | run2 | stopped by OpenAI's safeguard | 0 | 1.7 | 0.15 |
| Plain Codex | seroval | run3 | stopped by OpenAI's safeguard | 0 | 3.1 | 0.23 |
| Semgrep | seroval | run1 | missed | 1 | 0.1 | not measured |
| Semgrep | seroval | run2 | missed | 1 | 0.1 | not measured |
| Semgrep | seroval | run3 | missed | 1 | 0.0 | not measured |