Описание
Security update for sdbootutil
This update for sdbootutil fixes the following issues:
Security issues fixed:
- CVE-2026-41676:
Deriver:deriveandPkeyCtxRef:derivecan overflow short buffers on OpenSSL 1.1.1 (bsc#1270192). - CVE-2026-41677: out-of-bounds read in PEM password callback when returning an oversized length in rust-openssl crate (bsc#1270616).
- CVE-2026-41678: incorrect bounds assertion in aes key wrap in rust-openssl crate (bsc#1270670).
- CVE-2026-41681: MdCtxRef::digest_final() writes past caller buffer with no length check in rust-openssl crate (bsc#1270742).
- CVE-2026-41898: unchecked callback-returned length in PSK and cookie generate trampolines can leak adjacent memory in rust-openssl crate (bsc#1270863).
- CVE-2026-42327: arbitrary code execution via specially crafted certificate in rust-openssl crate (bsc#1270471).
- CVE-2026-44662: heap buffer overflow when encrypting with AES key-wrap-with-padding in rust-openssl crate (bsc#1270922).
- CVE-2026-45784: out-of-bounds write in
CipherCtxRef::cipher_update_inplacefor AES-KW-PAD ciphers in rust- openssl crate (bsc#1270995).
Non security issues fixed:
- sdbootutil-update-predictions.service fails with Failed to start Update TPM predictions (bsc#1273384).
- systemd ordering cycle and other service problems with snapshot 20260722 (bsc#1272525).
- Unable to unlock multiple encrypted partitions with FIDO2 Key, Systemdboot+LUKS (bsc#1234010).
Changes for sdbootutil:
- Update to version 1+git20260908.c641fc2:
- Update the shim when required
- Warn when recovery PIN is different from recovery key
- Improves extra boot entries support
- Better report when the default snapshot diverges
- Explain how to do re-enrolling if recovery PIN fails
- Explain why update-prediction fails and how to solve it
- Hide comparison output
- Add bootctl default entry in the prediction
- Update to version 1+git20260903.f91f636:
- Include FIDO2 unlocked devices for ordering (bsc#1234010)
- Test in parallel for speed up
- Add --repair parameter to cleanup
- Fix shellcheck complain
- Report entries with missing files
- Avoid duplicate entries in non-snapper systems
- Add initial tests for sdbootutil
- Report the error if bootctl clean fails
- Update to version 1+git20260901.41540d5:
- No warn if a component is not in the event log
- Add status command
- Select the new sdbootutil if available
- Skip blank lines in measure-pcr-generator.sh
- Do not change crypttab for unrelated entries
- Report the bad PCR when update-prediction fail
- Do not write the recovery PIN in the journal
- Improves non snapshot system support
- Update help message for --measure-pcr
- Report when PCR 7 is dropped because shim update
- Add --strict parameter for --pcr policy
- Report dropped PCRs via a warn
- Adjust the limits for PolicyOR issues
- Avoid update predictions if the service is up
- Keep the exit status of sdbootutil call
- Update to version 1+git20260827.786f9a8:
- Do not accept empty passwords
- jeos-firstboot-enroll: report errors also in the journal
- Restore old crypttab via the exit trap
- Update CLAUDE data
- Detect half created openssl keys
- check_enrolled report when something was written in the LUKS2 header
- Improve a bit the disk-encryption-tool keyslot detection
- Avoid leak of env var secrets
- Wipe the d-e-t key in the enroll service and jeos module
- Remove the correct keyslot left by d-e-t
- Differentiate tpm2 and tpm2+pin for unattended unlock
- Use is_same_device in detect_tracked_device and drop greps
- Refactor check to avoid shellcheck complain
- Parse the entry file in a sigle place
- Validate the entry with the new kernel name
- Refactor enrollment interface and deprecate the old one
- New kernels will have different hash
- Warn If no crypttab entry found
- Extend is_same_device
- jeos-firstboot-enroll: validate the passwords
- sdbootutil-enroll: report when no encryption method is provided
- Write recovery pin after enrollment in jeos module
- Write recovery pin after enrollment
- Improve error detection in sdbootutil-enroll
- Increase keyctl timeout
- Merge require_unlock and set_unlock_method
- Be sure that the terminal check works with snapper
- Renerate initrd when new measure-pcr keys are created
- Separate ask-* parameters
- Fix reading credential and keyctl password
- Get the device password for each enrolling mechanism
- Drop elements from crypttab if the enrollment fails
- Validate the enrollment for each method
- Add warning when enrolling FIDO2 token
- Update to version 1+git20260825.c7a5a97:
- Refactor free space calculation
- Do not use /proc/cmdline in half configured systems
- Warning when the recovery PIN is not validated
- Show default and booted snapshots with marks
- Improve detection of snapshot systems
- Fix when searching for a boot entry
- Fix boot order and boot order entry
- Create the entries directory in the ESP
- Fix get_final_pcr parser
- Keep btrfs error and show it when fails
- Fix set -e early exit instances
- Fix measure-pcr-validator when there is no terminal
- Don't include measure-pcr-validator in initrd if TPM2 is not used
- Update predictions even if crypttab did not change
- Improve PCR 15 signing
- Detect NAME=VALUE passed as parameters and complain
- When asking a password, require a terminal
- Filter some warnings from pcrlock
- Detect directories that are not part of the snapshot
- Write bash completion errors to /dev/null
- Detect when t-u apply is done and avoid data corruption
- Detect pcr-oracle leftovers
- Show in title that it's the initial version for transactional systems
- Manually generate PCR7 measurements
- Regenerate pcrlock.json when it is missing
- Update to version 1+git20260813.357956d:
- Do not update the predictions without a TPM2 enrollment (bsc#1273384)
- Update to version 1+git20260812.305d9f2:
- Do not supplement if GRUB2-EFI is installed (bsc#1272525)
- Update to version 1+git20260714.d9bb736:
- tukit: do not fail if service is not found
- Update to version 1+git20260713.d869cf8:
- Ignore errors in the snapper plugin
- Update to version 1+git20260709.7dfd021:
- Remove the background process in the plugin
- Fix missing initrd condition (bsc#1270420)
- After reboot the shutdown service is not active
- Disable the shutdown service after main service
- Update uhmac dependencies (rust-openssl) bsc#1270192, CVE-2026-41676 bsc#1270995, CVE-2026-45784 bsc#1270922, CVE-2026-44662 bsc#1270863, CVE-2026-41898 bsc#1270742, CVE-2026-41681 bsc#1270670, CVE-2026-41678 bsc#1270616, CVE-2026-41677 bsc#1270471, CVE-2026-42327
- Add systemd transient service to update predictions
- Install extra EFI binaries
- Update to version 1+git20260625.7fa275e:
- Remove duplicate code and parametrize timers
- Check boot entry before kernel installation
- Re-install an old kernel if initrd cannot be reused
- Skip installation for already installed kernel
- Add configurable devicetree entry support
- Set explicit kernel and initrd paths
- Remove the full tmpdir in the service
- Fix /run/sdbootutil permissions
- Execute predictions in the background
- Add --disable-predictions parameter
- Fix comparison operator
- Add print-loader-path command
Список пакетов
openSUSE Leap 16.0
Ссылки
- SUSE Security Ratings
- SUSE Bug 1234010
- SUSE Bug 1270192
- SUSE Bug 1270420
- SUSE Bug 1270471
- SUSE Bug 1270616
- SUSE Bug 1270670
- SUSE Bug 1270742
- SUSE Bug 1270863
- SUSE Bug 1270922
- SUSE Bug 1270995
- SUSE Bug 1272525
- SUSE Bug 1273384
- SUSE CVE CVE-2026-41676 page
- SUSE CVE CVE-2026-41677 page
- SUSE CVE CVE-2026-41678 page
- SUSE CVE CVE-2026-41681 page
- SUSE CVE CVE-2026-41898 page
- SUSE CVE CVE-2026-42327 page
- SUSE CVE CVE-2026-44662 page
Описание
rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.27 to before 0.10.78, Deriver::derive (and PkeyCtxRef::derive) sets len = buf.len() and passes it as the in/out length to EVP_PKEY_derive, relying on OpenSSL to honor it. On OpenSSL 1.1.x, X25519, X448, DH and HKDF-extract ignore the incoming *keylen, unconditionally writing the full shared secret (32/56/prime-size bytes). A caller passing a short slice gets a heap/stack overflow from safe code. OpenSSL 3.x providers do check, so this only impacts older OpenSSL. This vulnerability is fixed in 0.10.78.
Затронутые продукты
Ссылки
- CVE-2026-41676
- SUSE Bug 1270137
- SUSE Bug 1271911
Описание
rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.0 to before 0.10.78, the *_from_pem_callback APIs did not validate the length returned by the user's callback. A password callback that returns a value larger than the buffer it was given can cause some versions of OpenSSL to over-read this buffer. OpenSSL 3.x is not affected by this. This vulnerability is fixed in 0.10.78.
Затронутые продукты
Ссылки
- CVE-2026-41677
- SUSE Bug 1270540
- SUSE Bug 1271911
Описание
rust-openssl provides OpenSSL bindings for the Rust programming language. From to before 0.10.78, aes::unwrap_key() contains an incorrect assertion: it checks that out.len() + 8 <= in_.len(), but this condition is reversed. The intended invariant is out.len() >= in_.len() - 8, ensuring the output buffer is large enough. Because of the inverted check, the function only accepts buffers at or below the minimum required size and rejects larger ones. If a smaller buffer is provided the function will write past the end of out by in_.len() - 8 - out.len() bytes, causing an out-of-bounds write from a safe public function. This vulnerability is fixed in 0.10.78.
Затронутые продукты
Ссылки
- CVE-2026-41678
- SUSE Bug 1270641
- SUSE Bug 1271911
Описание
rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.10.39 to before 0.10.78, EVP_DigestFinal() always writes EVP_MD_CTX_size(ctx) to the out buffer. If out is smaller than that, MdCtxRef::digest_final() writes past its end, usually corrupting the stack. This is reachable from safe Rust. This vulnerability is fixed in 0.10.78.
Затронутые продукты
Ссылки
- CVE-2026-41681
- SUSE Bug 1270719
- SUSE Bug 1271911
Описание
rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.24 to before 0.10.78, the FFI trampolines behind SslContextBuilder::set_psk_client_callback, set_psk_server_callback, set_cookie_generate_cb, and set_stateless_cookie_generate_cb forwarded the user closure's returned usize directly to OpenSSL without checking it against the &mut [u8] that was handed to the closure. This can lead to buffer overflows and other unintended consequences. This vulnerability is fixed in 0.10.78.
Затронутые продукты
Ссылки
- CVE-2026-41898
- SUSE Bug 1270798
- SUSE Bug 1271911
Описание
rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.7 to before 0.10.79, X509Ref::ocsp_responders returns OCSP responder URLs from a certificate's AIA extension as OpensslString, whose Deref<Target = str> wraps the raw bytes with str::from_utf8_unchecked. OpenSSL does not enforce that the underlying IA5String is ASCII, so a certificate with non-UTF-8 bytes in its OCSP accessLocation causes safe Rust code to construct a &str that violates the UTF-8 invariant - resulting in undefined behavior. This vulnerability is fixed in 0.10.79.
Затронутые продукты
Ссылки
- CVE-2026-42327
- SUSE Bug 1270454
- SUSE Bug 1271911
Описание
rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.10.0 to before 0.10.79, CipherCtxRef::cipher_update, CipherCtxRef::cipher_update_vec, and symm::Crypter::update incorrectly sized output buffers when used with AES key-wrap-with-padding ciphers (EVP_aes_{128,192,256}_wrap_pad). For a non-multiple-of-8 input, OpenSSL writes up to 7 bytes past the end of the caller's buffer or Vec, producing attacker-controllable heap corruption when the plaintext length is attacker-influenced. This only impacts users using AES key-wrap-with-padding ciphers. This vulnerability is fixed in 0.10.79.
Затронутые продукты
Ссылки
- CVE-2026-44662
- SUSE Bug 1270872
- SUSE Bug 1271911
Описание
rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.10.50 until 0.10.80, CipherCtxRef::cipher_update_inplace in openssl/src/cipher_ctx.rs incorrectly sized output buffers when used with AES key-wrap-with-padding ciphers EVP_aes_{128,192,256}_wrap_pad. For a non-multiple-of-8 input, OpenSSL writes up to 7 bytes past the end of the caller's buffer or Vec, producing attacker-controllable heap corruption when the plaintext length is attacker-influenced. This issue is fixed in version 0.10.80.
Затронутые продукты
Ссылки
- CVE-2026-45784
- SUSE Bug 1270946