Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package cryptsetup for openSUSE:Factory 
checked in at 2026-07-26 11:27:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cryptsetup (Old)
 and      /work/SRC/openSUSE:Factory/.cryptsetup.new.2004 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cryptsetup"

Sun Jul 26 11:27:01 2026 rev:139 rq:1367551 version:2.8.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/cryptsetup/cryptsetup.changes    2026-07-10 
17:34:19.634803255 +0200
+++ /work/SRC/openSUSE:Factory/.cryptsetup.new.2004/cryptsetup.changes  
2026-07-26 11:27:03.471798419 +0200
@@ -1,0 +2,100 @@
+Wed Jul 22 10:47:44 UTC 2026 - Pedro Monreal <[email protected]>
+
+- Update to 2.8.7:
+  * Changes related to Linux kernel AF_ALG crypto userspace interface
+    deprecation Linux kernel maintainers decided to deprecate the
+    AF_ALG interface, which was heavily used by cryptsetup, with the
+    plan to remove it (or severely limit it) for security reasons.
+    Libcryptsetup uses userspace (primarily via AF_ALG) for processing
+    LUKS keyslots and for on-disk metadata handling for other formats.
+    Using AF_ALG ensured that the same set of algorithms is present in
+    userspace and later in-kernel for device activation.
+    While libcryptsetup has a concept of fallback to userspace library,
+    it was not used in all situations.
+    In this version, libcryptsetup can use a userspace crypto library,
+    AF_ALG (if present), and in some situations (LUKS keyslots), fallback
+    to a temporary dm-crypt mapping. The last option requires root
+    privileges. This ensures that most operations will continue to work
+    even when AF_ALG is disabled or limited.
+    Unfortunately, removing the AF_ALG could cause severe compatibility
+    issues if the required algorithm (or encryption mode) is not implemented
+    in the userspace library. A typical example is the Adiantum cipher,
+    which is implemented only in the kernel. Also, ciphers like Serpent or
+    Twofish (in XTS mode) are missing from several userspace libraries.
+    The cryptsetup benchmark for ciphers is no longer available if the
+    AF_ALG interface is unavailable.
+  * Keyring handling changes.
+    Libcryptsetup can use the kernel keyring to transfer the volume key
+    into the kernel, avoiding sending it as a parameter to system calls.
+    In previous versions, the volume key could be stored in the thread
+    keyring, which should be removed when the process exits. Unfortunately,
+    the thread keyring can remain active in some situations (such as when
+    allocating a loop device). This could be a problem after calling
+    luksSuspend when the volume key could remain in memory.
+    Instead of loading volume keys directly into the thread keyring,
+    cryptsetup now creates an intermediary keyring linked into the thread
+    keyring and loads volume keys there.
+    The intermediary keyring is now removed in the libcryptsetup context
+    destructor (usually on application exit).
+    Note that in previous versions, volume keys persisted until the process
+    exited (even after the context destructor was called).
+  * Changes related to possible LUKS volume key digest collisions.
+    LUKS on-disk metadata uses a volume key digest generated by the PBKDF2
+    key-derivation algorithm to verify that the decrypted volume key is valid.
+    The use of PBKDF2 (instead of a more suitable cryptographic digest
+    algorithm) is part of the original LUKS design. It was retained for LUKS2
+    for compatibility (it allows easy in-place conversion).
+    However, PBKDF2 has several design flaws. As it is based on HMAC
+    (Hash-based Message Authentication Code), it also inherits the weak-key
+    HMAC issue. In HMAC, the key can be arbitrarily long. If the key is shorter
+    than the hash internal block size, it is padded with zeroes to a full block
+    size. This flawed padding causes any HMAC key (shorter than the specified
+    block size) to collide with keys that have added trailing zeroes. A 
collision
+    means that HMAC (and PBKDF2) has the same output for colliding keys.
+    In LUKS, a PBKDF2 collision is not a security issue; it cannot compromise
+    data confidentiality.
+    Moreover, the colliding key has a different length and should be rejected
+    by the underlying block cipher. Unfortunately, in some reencryption
+    scenarios (e.g., a header without keyslots), a collision key could be
+    accepted, leading to possible data corruption.
+    Code now always validates the expected key length.
+    This validation is now strictly implemented in LUKS metadata processing.
+    In the long term, LUKS will need to upgrade to a better volume key digest
+    algorithm, but that will make the format backward-incompatible.
+  * Support Aria and Camellia ciphers in the libgcrypt cryptographic backend.
+  * Fix pkg-config library entry for the Mbed TLS cryptographic backend.
+  * Better document CRYPT_VOLUME_KEY_NO_SEGMENT and 
CRYPT_VOLUME_KEY_DIGEST_REUSE
+    API flags. The keyslot created with the CRYPT_VOLUME_KEY_NO_SEGMENT flag 
must
+    always be unbound (not assigned to the default data segment). The use of 
the
+    CRYPT_VOLUME_KEY_DIGEST_REUSE flag does not make sense without the
+    CRYPT_VOLUME_KEY_NO_SEGMENT or CRYPT_VOLUME_KEY_SET flags.
+  * Fix several possible corner cases in OpenSSL cryptographic backend (based
+    on AI analysis).
+    These include checking before casting from size_t to int, checking return
+    values for the old OpenSSL HMAC API, avoiding sending a partial buffer to
+    the caller if the operation fails, and explicitly checking for buffer 
length
+    overflow. Most of these cannot happen in the libcryptsetup context, but the
+    cryptographic backend can be used for other projects.
+  * Code hardening based on various AI analysis reports.
+    Including a fix for snprintf truncation in libdevmapper code, avoiding
+    possible leak of JSON keyslot object on error path, and a fix for
+    reencryption temporary device name.
+  * Fix jq (JSON commandline processor) use in testing scripts.
+    After the security update for jq, it no longer processes JSON with
+    trailing zeroes.
+    Regression test scripts were updated to avoid using this scenario.
+  * Add support for --integrity-legacy-hmac in integritysetup open command.
+    Integritysetup open command incorrectly configured options for legacy
+    HMAC devices. To use --integrity-legacy-hmac, it must now be used both
+    on format and open.
+  * Fix cryptsetup --tries option not to overflow for high values.
+  * Remove patches upstream:
+    - cryptsetup-Add-keyring-key-type.patch
+    - cryptsetup-Load-volume-keys-in-intermediary-keyring-linked-in-t.patch
+    - cryptsetup-Use-unique-intermediary-keyring-name-per-device.patch
+    - cryptsetup-tests-revoke-keys-instead-unlinking-from-thread-keyr.patch
+    - cryptsetup-tests-verify-VK-and-internal-keyring-cleanup-after-p.patch
+    - cryptsetup-tests-refactor-keyring-helpers.patch
+    - cryptsetup-tests-verify-intermediary-keyring-cleanup-after-cryp.patch
+
+-------------------------------------------------------------------

Old:
----
  cryptsetup-2.8.6.tar.sign
  cryptsetup-2.8.6.tar.xz
  cryptsetup-Add-keyring-key-type.patch
  cryptsetup-Load-volume-keys-in-intermediary-keyring-linked-in-t.patch
  cryptsetup-Use-unique-intermediary-keyring-name-per-device.patch
  cryptsetup-tests-refactor-keyring-helpers.patch
  cryptsetup-tests-revoke-keys-instead-unlinking-from-thread-keyr.patch
  cryptsetup-tests-verify-VK-and-internal-keyring-cleanup-after-p.patch
  cryptsetup-tests-verify-intermediary-keyring-cleanup-after-cryp.patch

New:
----
  cryptsetup-2.8.7.tar.sign
  cryptsetup-2.8.7.tar.xz

----------(Old B)----------
  Old:  * Remove patches upstream:
    - cryptsetup-Add-keyring-key-type.patch
    - cryptsetup-Load-volume-keys-in-intermediary-keyring-linked-in-t.patch
  Old:    - cryptsetup-Add-keyring-key-type.patch
    - cryptsetup-Load-volume-keys-in-intermediary-keyring-linked-in-t.patch
    - cryptsetup-Use-unique-intermediary-keyring-name-per-device.patch
  Old:    - 
cryptsetup-Load-volume-keys-in-intermediary-keyring-linked-in-t.patch
    - cryptsetup-Use-unique-intermediary-keyring-name-per-device.patch
    - cryptsetup-tests-revoke-keys-instead-unlinking-from-thread-keyr.patch
  Old:    - 
cryptsetup-tests-verify-VK-and-internal-keyring-cleanup-after-p.patch
    - cryptsetup-tests-refactor-keyring-helpers.patch
    - cryptsetup-tests-verify-intermediary-keyring-cleanup-after-cryp.patch
  Old:    - cryptsetup-Use-unique-intermediary-keyring-name-per-device.patch
    - cryptsetup-tests-revoke-keys-instead-unlinking-from-thread-keyr.patch
    - cryptsetup-tests-verify-VK-and-internal-keyring-cleanup-after-p.patch
  Old:    - 
cryptsetup-tests-revoke-keys-instead-unlinking-from-thread-keyr.patch
    - cryptsetup-tests-verify-VK-and-internal-keyring-cleanup-after-p.patch
    - cryptsetup-tests-refactor-keyring-helpers.patch
  Old:    - cryptsetup-tests-refactor-keyring-helpers.patch
    - cryptsetup-tests-verify-intermediary-keyring-cleanup-after-cryp.patch
----------(Old E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cryptsetup.spec ++++++
--- /var/tmp/diff_new_pack.vQk7oL/_old  2026-07-26 11:27:04.935848656 +0200
+++ /var/tmp/diff_new_pack.vQk7oL/_new  2026-07-26 11:27:04.935848656 +0200
@@ -18,7 +18,7 @@
 
 %define so_ver 12
 Name:           cryptsetup
-Version:        2.8.6
+Version:        2.8.7
 Release:        0
 Summary:        Setup program for dm-crypt Based Encrypted Block Devices
 License:        CC-BY-SA-4.0 AND LGPL-2.0-or-later WITH 
cryptsetup-OpenSSL-exception
@@ -30,14 +30,6 @@
 Source2:        baselibs.conf
 Source3:        cryptsetup.keyring
 Patch0:         cryptsetup-fips140-3.patch
-# PATCH-FIX-UPSTREAM bsc#1270254 Load volume keys in intermediary keyring 
linked in thread keyring
-Patch1:         cryptsetup-Add-keyring-key-type.patch
-Patch2:         
cryptsetup-Load-volume-keys-in-intermediary-keyring-linked-in-t.patch
-Patch3:         
cryptsetup-Use-unique-intermediary-keyring-name-per-device.patch
-Patch4:         
cryptsetup-tests-revoke-keys-instead-unlinking-from-thread-keyr.patch
-Patch5:         
cryptsetup-tests-verify-VK-and-internal-keyring-cleanup-after-p.patch
-Patch6:         cryptsetup-tests-refactor-keyring-helpers.patch
-Patch7:         
cryptsetup-tests-verify-intermediary-keyring-cleanup-after-cryp.patch
 # 2.6.38 has the required if_alg.h
 BuildRequires:  linux-glibc-devel >= 2.6.38
 BuildRequires:  fdupes
@@ -217,6 +209,8 @@
 %{_mandir}/man8/cryptsetup-convert.8%{?ext_man}
 %{_mandir}/man8/cryptsetup-create.8%{?ext_man}
 %{_mandir}/man8/cryptsetup-erase.8%{?ext_man}
+%{_mandir}/man8/cryptsetup-fvault2Dump.8%{?ext_man}
+%{_mandir}/man8/cryptsetup-fvault2Open.8%{?ext_man}
 %{_mandir}/man8/cryptsetup-isLuks.8%{?ext_man}
 %{_mandir}/man8/cryptsetup-loopaesOpen.8%{?ext_man}
 %{_mandir}/man8/cryptsetup-luksAddKey.8%{?ext_man}
@@ -245,6 +239,4 @@
 %{_mandir}/man8/cryptsetup-token.8%{?ext_man}
 %{_mandir}/man8/integritysetup.8%{?ext_man}
 %{_mandir}/man8/veritysetup.8%{?ext_man}
-%{_mandir}/man8/cryptsetup-fvault2Dump.8%{?ext_man}
-%{_mandir}/man8/cryptsetup-fvault2Open.8%{?ext_man}
 

++++++ cryptsetup-2.8.6.tar.xz -> cryptsetup-2.8.7.tar.xz ++++++
/work/SRC/openSUSE:Factory/cryptsetup/cryptsetup-2.8.6.tar.xz 
/work/SRC/openSUSE:Factory/.cryptsetup.new.2004/cryptsetup-2.8.7.tar.xz differ: 
char 15, line 1

Reply via email to