Upgraded aes and cbc dependencies to their latest versions

This commit is contained in:
Thorsten Sommer 2026-05-14 15:36:55 +02:00
parent 67b1776ca1
commit 5193ba640e
Signed by untrusted user who does not match committer: tsommer
GPG Key ID: 371BBA77A02C0108
3 changed files with 70 additions and 15 deletions

75
runtime/Cargo.lock generated
View File

@ -21,10 +21,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"cipher", "cipher 0.4.4",
"cpufeatures 0.2.12", "cpufeatures 0.2.12",
] ]
[[package]]
name = "aes"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "66bd29a732b644c0431c6140f370d097879203d79b80c94a6747ba0872adaef8"
dependencies = [
"cipher 0.5.1",
"cpubits",
"cpufeatures 0.3.0",
]
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "1.1.3" version = "1.1.3"
@ -526,6 +537,15 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "block-padding"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "710f1dd022ef4e93f8a438b4ba958de7f64308434fa6a87104481645cc30068b"
dependencies = [
"hybrid-array",
]
[[package]] [[package]]
name = "block2" name = "block2"
version = "0.5.1" version = "0.5.1"
@ -720,7 +740,16 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
dependencies = [ dependencies = [
"cipher", "cipher 0.4.4",
]
[[package]]
name = "cbc"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98db6aeaef0eeef2c1e3ce9a27b739218825dae116076352ac3777076aa22225"
dependencies = [
"cipher 0.5.1",
] ]
[[package]] [[package]]
@ -807,7 +836,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
dependencies = [ dependencies = [
"crypto-common 0.1.6", "crypto-common 0.1.6",
"inout", "inout 0.1.3",
]
[[package]]
name = "cipher"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e34d8227fe1ba289043aeb13792056ff80fd6de1a9f49137a5f499de8e8c78ea"
dependencies = [
"crypto-common 0.2.1",
"inout 0.2.2",
] ]
[[package]] [[package]]
@ -963,6 +1002,12 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "cpubits"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae"
[[package]] [[package]]
name = "cpufeatures" name = "cpufeatures"
version = "0.2.12" version = "0.2.12"
@ -1170,9 +1215,9 @@ version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "708b509edf7889e53d7efb0ffadd994cc6c2345ccb62f55cfd6b0682165e4fa6" checksum = "708b509edf7889e53d7efb0ffadd994cc6c2345ccb62f55cfd6b0682165e4fa6"
dependencies = [ dependencies = [
"aes", "aes 0.8.4",
"block-padding", "block-padding 0.3.3",
"cbc", "cbc 0.1.2",
"dbus", "dbus",
"fastrand", "fastrand",
"hkdf", "hkdf",
@ -2620,10 +2665,20 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
dependencies = [ dependencies = [
"block-padding", "block-padding 0.3.3",
"generic-array", "generic-array",
] ]
[[package]]
name = "inout"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7"
dependencies = [
"block-padding 0.4.2",
"hybrid-array",
]
[[package]] [[package]]
name = "ipnet" name = "ipnet"
version = "2.9.0" version = "2.9.0"
@ -2996,7 +3051,7 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
name = "mindwork-ai-studio" name = "mindwork-ai-studio"
version = "26.5.4" version = "26.5.4"
dependencies = [ dependencies = [
"aes", "aes 0.9.0",
"apple-native-keyring-store", "apple-native-keyring-store",
"arboard", "arboard",
"async-stream", "async-stream",
@ -3005,7 +3060,7 @@ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"bytes", "bytes",
"calamine", "calamine",
"cbc", "cbc 0.2.0",
"cfg-if", "cfg-if",
"dbus-secret-service-keyring-store", "dbus-secret-service-keyring-store",
"file-format", "file-format",
@ -7248,7 +7303,7 @@ version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27c03817464f64e23f6f37574b4fdc8cf65925b5bfd2b0f2aedf959791941f88" checksum = "27c03817464f64e23f6f37574b4fdc8cf65925b5bfd2b0f2aedf959791941f88"
dependencies = [ dependencies = [
"aes", "aes 0.8.4",
"arbitrary", "arbitrary",
"bzip2", "bzip2",
"constant_time_eq", "constant_time_eq",

View File

@ -31,8 +31,8 @@ rustls = { version = "0.23.28", default-features = false, features = ["aws_lc_rs
rand = "0.10.1" rand = "0.10.1"
rand_chacha = "0.10.0" rand_chacha = "0.10.0"
base64 = "0.22.1" base64 = "0.22.1"
aes = "0.8.4" aes = "0.9.0"
cbc = "0.1.2" cbc = "0.2.0"
pbkdf2 = "0.13.0" pbkdf2 = "0.13.0"
hmac = "0.13.0" hmac = "0.13.0"
sha2 = "0.11.0" sha2 = "0.11.0"

View File

@ -2,7 +2,7 @@ use std::fmt;
use std::time::Instant; use std::time::Instant;
use base64::Engine; use base64::Engine;
use base64::prelude::BASE64_STANDARD; use base64::prelude::BASE64_STANDARD;
use aes::cipher::{block_padding::Pkcs7, BlockDecryptMut, BlockEncryptMut, KeyIvInit}; use aes::cipher::{block_padding::Pkcs7, BlockModeDecrypt, BlockModeEncrypt, KeyIvInit};
use hmac::Hmac; use hmac::Hmac;
use log::{error, info}; use log::{error, info};
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
@ -107,7 +107,7 @@ impl Encryption {
let mut buffer = vec![0u8; data.len() + 16]; let mut buffer = vec![0u8; data.len() + 16];
buffer[..data.len()].copy_from_slice(data); buffer[..data.len()].copy_from_slice(data);
let encrypted = cipher let encrypted = cipher
.encrypt_padded_mut::<Pkcs7>(&mut buffer, data.len()) .encrypt_padded::<Pkcs7>(&mut buffer, data.len())
.map_err(|e| format!("Error encrypting data: {e}"))?; .map_err(|e| format!("Error encrypting data: {e}"))?;
let mut result = BASE64_STANDARD.encode(self.secret_key_salt); let mut result = BASE64_STANDARD.encode(self.secret_key_salt);
result.push_str(&BASE64_STANDARD.encode(encrypted)); result.push_str(&BASE64_STANDARD.encode(encrypted));
@ -130,7 +130,7 @@ impl Encryption {
let cipher = Aes256CbcDec::new(&self.key.into(), &self.iv.into()); let cipher = Aes256CbcDec::new(&self.key.into(), &self.iv.into());
let mut buffer = encrypted.to_vec(); let mut buffer = encrypted.to_vec();
let decrypted = cipher let decrypted = cipher
.decrypt_padded_mut::<Pkcs7>(&mut buffer) .decrypt_padded::<Pkcs7>(&mut buffer)
.map_err(|e| format!("Error decrypting data: {e}"))?; .map_err(|e| format!("Error decrypting data: {e}"))?;
String::from_utf8(decrypted.to_vec()).map_err(|e| format!("Error converting decrypted data to string: {}", e)) String::from_utf8(decrypted.to_vec()).map_err(|e| format!("Error converting decrypted data to string: {}", e))