Skip to content

fix(deps): reject malformed exponent signs in Codex configuration #163

Closed

Description

@abruption

Problem

The pinned smol-toml@1.9.0 accepts malformed floating-point exponent signs, such as foo=3e++20 and foo=3e--20, returning {foo:3}. sqliteHome() treats a successfully parsed configuration without a root sqlite_home as default; these malformed configurations should instead remain unknown, with doctor/send reporting codex_config_unreadable.

This is a reproduced dependency correctness defect, not a demonstrated storage-relocation bypass or published CVE. Fresh npm advisory checks and open Dependabot/CodeQL alerts found no current published vulnerability. The deferred #155 harness and distribution-excluded experiments remain outside this patch.

Change

  • Pin the official parser patch smol-toml@1.9.1, preserving unrelated dependency versions.
  • Add regression coverage for malformed exponents, doctor uncertainty and refusal before dry-run/submission; preserve valid exponents and explicit relocated-storage refusal.
  • Prepare version 0.5.1, retaining exact-version SSH and the same four finite skill profiles as 0.5.0. Validate the actual package and normal repository protections before publication.

Upstream fix: https://github.com/squirrelchat/smol-toml/releases/tag/v1.9.1
Upstream comparison: squirrelchat/smol-toml@v1.9.0...v1.9.1

The user requested fixes for actionable security/dependency issues and a hotfix release. Actual protected-environment/npm stage authentication and source approval remain release gates; no fleet/global installation is requested.

Activity

  1. added a commit that references this issue on Oct 27, 2026
    90481b1
  2. abruption commented on Oct 27, 2026

    @abruption
    OwnerAuthor

    Published fix: npm0.5.1, GitHubv0.5.1, source 90481b148584926ea328ed956327f3050d9be9cb. The malformed-exponent regression is fixed by exact parser1.9.1; no CVE or storage-relocation bypass is claimed. Public bytes, registry signature/provenance, source linkage and isolated lifecycle verification passed; preview and the existing platform/ACK boundaries are preserved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions