Skip to content

chore(deps): bump vendored SQLite to 3.53.4 - #795

Open
rustytrees wants to merge 1 commit into
indaco:mainfrom
rustytrees:chore/bump-vendored-sqlite
Open

chore(deps): bump vendored SQLite to 3.53.4#795
rustytrees wants to merge 1 commit into
indaco:mainfrom
rustytrees:chore/bump-vendored-sqlite

Conversation

@rustytrees

Copy link
Copy Markdown

Optional, and the only one of #789's items where I'd understand a "no".

The vendored amalgamation was 3.49.1 (2025-02-18), roughly seventeen months behind. This moves it to 3.53.4.

Framing this honestly

It is hygiene, not a fix for anything I can point at. I did not identify a CVE that reaches malt's usage, and I am not going to imply one exists. The exposure looks low by construction:

  • the database is local and malt-written, not attacker-supplied
  • every statement in src/ is parameterised — I found no string-built SQL anywhere
  • the compile flags already drop the risky surface (SQLITE_OMIT_LOAD_EXTENSION, SQLITE_DQS=0)

The argument for bumping is simply that this is a C dependency handling network-derived values, and being a year and a half behind on one is a position that only gets worse with time.

Provenance

Sourced from the official amalgamation zip and verified against the SHA3-256 published on sqlite.org's download page:

sqlite-amalgamation-3530400.zip
628a44cfe82c66aed1ccbbe85a562d2e33ebe64b3288981ed76285612227934e

sqlite3.c and sqlite3.h are dropped in verbatim, no local edits. Please re-verify that hash yourself rather than taking my word for it — 22k lines of vendored C is not meaningfully reviewable by hand, and "I checked the checksum" is the only useful assurance anyone can give here.

zig build test passes the full suite against it unchanged, and ./scripts/lint-spawn-invariants.sh is clean.

Entirely reasonable to close this if you'd rather bump vendored deps on your own schedule.

The amalgamation was 3.49.1 (2025-02-18), roughly seventeen months behind at
the time of writing.

Framing this honestly: it is hygiene, not a fix for anything I can point at.
I did not identify a CVE that reaches malt's usage, and the exposure looks
low by construction — the database is local and malt-written, every statement
in `src/` is parameterised (no string-built SQL anywhere), and the compile
flags already drop the risky surface (`SQLITE_OMIT_LOAD_EXTENSION`,
`SQLITE_DQS=0`). The argument for bumping is that this is a C dependency
carrying network-derived values, and being a year and a half behind on one is
a position that only gets worse.

Sourced from the official amalgamation zip and verified against the SHA3-256
sqlite.org publishes on its download page:

    sqlite-amalgamation-3530400.zip
    628a44cfe82c66aed1ccbbe85a562d2e33ebe64b3288981ed76285612227934e

Worth re-verifying that yourself rather than taking my word for it — the diff
is 22k lines of vendored C and is not meaningfully reviewable by hand.
`sqlite3.c` and `sqlite3.h` are dropped in verbatim; no local edits.

`zig build test` passes the full suite against it unchanged.
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