diff --git a/Cargo.lock b/Cargo.lock index 1420099f..ab1216c4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -164,7 +164,7 @@ dependencies = [ "serde", "serde_json", "spin 0.9.9", - "thiserror 2.0.17", + "thiserror 2.0.21", "tokio", "tracing", ] @@ -356,7 +356,7 @@ dependencies = [ "libc", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.21", "tokio", ] @@ -583,7 +583,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror 2.0.17", + "thiserror 2.0.21", "time", ] @@ -1056,7 +1056,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" dependencies = [ - "thiserror 2.0.17", + "thiserror 2.0.21", ] [[package]] @@ -1066,7 +1066,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd93fd2c1b27acd030440c9dbd9d14c1122aad622374fe05a670b67a4bc034be" dependencies = [ "heapless 0.9.3", - "thiserror 2.0.17", + "thiserror 2.0.21", ] [[package]] @@ -1503,7 +1503,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" dependencies = [ - "thiserror 2.0.17", + "thiserror 2.0.21", ] [[package]] @@ -2631,13 +2631,22 @@ dependencies = [ "foldhash 0.2.0", ] +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +dependencies = [ + "foldhash 0.2.0", +] + [[package]] name = "hashlink" -version = "0.9.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +checksum = "a596f1b20ed2cc5ecac41a164aaebc7258057060f06c0cf7a2ba3991ee7990fb" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.17.1", ] [[package]] @@ -2743,7 +2752,7 @@ dependencies = [ "bytemuck", "byteorder", "serde", - "thiserror 2.0.17", + "thiserror 2.0.21", "zenoh-buffers", ] @@ -3157,7 +3166,7 @@ dependencies = [ "jni-sys", "log", "simd_cesu8", - "thiserror 2.0.17", + "thiserror 2.0.21", "walkdir", "windows-link 0.2.1", ] @@ -3317,9 +3326,9 @@ dependencies = [ [[package]] name = "libsqlite3-sys" -version = "0.30.1" +version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +checksum = "14a5f01b87b92705d07b433c06f96cbc764637d81a0bffb5734ce17cf0f9a2b3" dependencies = [ "cc", "pkg-config", @@ -4181,7 +4190,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2 0.6.5", - "thiserror 2.0.17", + "thiserror 2.0.21", "tokio", "tracing", "web-time", @@ -4205,7 +4214,7 @@ dependencies = [ "rustls-pki-types", "rustls-platform-verifier", "slab", - "thiserror 2.0.17", + "thiserror 2.0.21", "tinyvec", "tracing", "web-time", @@ -4383,7 +4392,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60dc65c0ff1a7ae1294b0c67b9f14baf70b644404010370171787bfac1038fc0" dependencies = [ "libredox", - "thiserror 2.0.17", + "thiserror 2.0.21", ] [[package]] @@ -4534,6 +4543,15 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rsqlite-vfs" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353b74f9810d5b085b6c42c9d86a5f0fdb795553235cdd48753b32e3809d18a7" +dependencies = [ + "thiserror 2.0.21", +] + [[package]] name = "rumqttc" version = "0.25.1" @@ -4549,7 +4567,7 @@ dependencies = [ "rustls-native-certs", "rustls-pemfile", "rustls-webpki 0.102.8", - "thiserror 2.0.17", + "thiserror 2.0.21", "tokio", "tokio-native-tls", "tokio-rustls", @@ -4559,9 +4577,9 @@ dependencies = [ [[package]] name = "rusqlite" -version = "0.32.1" +version = "0.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e" +checksum = "da9bba6f3506135e120a6586df05be18b48d18896600646a4bec8f993d91a594" dependencies = [ "bitflags 2.13.1", "fallible-iterator", @@ -4569,6 +4587,7 @@ dependencies = [ "hashlink", "libsqlite3-sys", "smallvec", + "sqlite-wasm-rs", ] [[package]] @@ -5246,6 +5265,16 @@ dependencies = [ "der 0.7.10", ] +[[package]] +name = "sqlite-wasm-rs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36bd8e29bf08189a005b2df1df99823aa0861cabe9044e5f31ed54ca292ee618" +dependencies = [ + "cc", + "rsqlite-vfs", +] + [[package]] name = "stabby" version = "72.1.16" @@ -5490,11 +5519,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.21", ] [[package]] @@ -5510,13 +5539,13 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.3", ] [[package]] @@ -5592,7 +5621,7 @@ checksum = "1461056cc1ef47003f7ee16e4cef3741068d4c7f6b627bfce49b7c00c120a530" dependencies = [ "futures-util", "pin-project-lite", - "thiserror 2.0.17", + "thiserror 2.0.21", "tokio", "tokio-rustls", ] @@ -6022,7 +6051,7 @@ dependencies = [ "log", "rand 0.9.4", "sha1", - "thiserror 2.0.17", + "thiserror 2.0.21", "utf-8", ] @@ -6039,7 +6068,7 @@ dependencies = [ "log", "rand 0.9.4", "sha1", - "thiserror 2.0.17", + "thiserror 2.0.21", "utf-8", ] @@ -6097,7 +6126,7 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4064ed685c487dbc25bd3f0e9548f2e34bab9d18cefc700f9ec2dba74ba1138e" dependencies = [ - "thiserror 2.0.17", + "thiserror 2.0.21", ] [[package]] @@ -6894,7 +6923,7 @@ dependencies = [ "oid-registry", "ring", "rusticata-macros", - "thiserror 2.0.17", + "thiserror 2.0.21", "time", ] diff --git a/aimdb-persistence-sqlite/CHANGELOG.md b/aimdb-persistence-sqlite/CHANGELOG.md index 61c471d3..67cbf134 100644 --- a/aimdb-persistence-sqlite/CHANGELOG.md +++ b/aimdb-persistence-sqlite/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Security + +- **Upgrade `rusqlite` 0.32 → 0.41 (bundled SQLite 3.54.1)** to fix + RUSTSEC-2026-0459 / CVE-2026-119375: SQLite before 3.54.0 could return + uninitialized page-cache memory when opening a database alongside a crafted + `-wal` file with a mismatched page size. + ## [0.3.0] - 2026-11-03 ### Changed (breaking) diff --git a/aimdb-persistence-sqlite/Cargo.toml b/aimdb-persistence-sqlite/Cargo.toml index e48b59d3..e27a0ec4 100644 --- a/aimdb-persistence-sqlite/Cargo.toml +++ b/aimdb-persistence-sqlite/Cargo.toml @@ -18,7 +18,7 @@ log = ["aimdb-core/log"] [dependencies] aimdb-core = { version = "3.0.0", path = "../aimdb-core", default-features = false, features = ["alloc"] } aimdb-persistence = { version = "0.3.0", path = "../aimdb-persistence" } -rusqlite = { version = "0.32", features = ["bundled"] } +rusqlite = { version = "0.41", features = ["bundled"] } serde_json = { workspace = true, features = ["std"] } tokio = { workspace = true, features = ["sync"] }