Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package cjose for openSUSE:Factory checked in at 2026-09-01 15:47:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cjose (Old) and /work/SRC/openSUSE:Factory/.cjose.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cjose" Tue Sep 1 15:47:21 2026 rev:8 rq:1374866 version:0.6.2.8 Changes: -------- --- /work/SRC/openSUSE:Factory/cjose/cjose.changes 2025-08-13 16:34:23.062109936 +0200 +++ /work/SRC/openSUSE:Factory/.cjose.new.1265/cjose.changes 2026-09-01 15:48:31.899122751 +0200 @@ -1,0 +2,80 @@ +Fri Aug 28 07:17:12 UTC 2026 - Petr Gajdos <[email protected]> + +- Update to 0.6.2.8: + * Free the RSA factor/CRT `BIGNUM`s and reject an incomplete private-key parameter set on JWK + import (OpenSSL >= 1.1) instead of silently dropping and leaking them; adds a regression test + * Take the JWS import copy-helper length as `size_t` so the (deliberately `size_t`) compact + serialization dot-scan offsets are no longer truncated back through `int` + * Parse the shared `"unprotected"` header in `cjose_jwe_import_json` (it was silently dropped), + restoring symmetry with `cjose_jwe_export_json` + * Decode/encode a top-level scalar JSON value in `cjose_header_set_raw` / `cjose_header_get_raw` + (`JSON_DECODE_ANY` / `JSON_ENCODE_ANY`), so e.g. an RFC 7797 `"b64":false` header round-trips + * Propagate `_cjose_jws_build_cser` failure out of `cjose_jws_export` (it returned `true` with a + possibly-`NULL` `*compact`) and set `err` when the serialization components are missing + * Clear `err` on a successful `alg:"none"` `cjose_jws_import` so it is not left holding the + `INVALID_ARG` recorded while rejecting `none` as a signing algorithm + * Free the RSA `BIGNUM`s if `RSA_set0_key` is refused, and free the `RSA` in `_RSA_new` when the + JWK allocation fails, closing two out-of-memory leaks on the RSA key path (OpenSSL >= 1.1) + * Free the temporary string in `_cjose_json_stringn` when `json_string` fails (jansson <= 2.6) + * Guard the base64 encode size calculation against `size_t` overflow, matching the decode side + * Reject an empty `"crit"` header list in `_cjose_header_validate_crit` (RFC 7515 section 4.1.11) + * Skip the zeroing `memset` in `_cjose_jwe_malloc` for a zero-byte request (`memset(NULL, 0, 0)` + is undefined behaviour if `malloc(0)` returned NULL) + * Drop a duplicated `enc_iv` base64url conversion in `_cjose_convert_to_base64` (no-op cleanup) + * Size the AES-CBC plaintext buffer in `size_t` to avoid a signed-`int` overflow near `INT_MAX` + * Drop a dead store of the end pointer after the final write in `concatkdf` otherinfo assembly + * Run the base64 decode length sanity check before publishing the output pointer, so its + (currently unreachable) failure path cannot leave `*output` dangling at freed memory + * Lower-bound the `kty` argument in `cjose_jwk_name_for_kty` so a value below `CJOSE_JWK_KTY_RSA` + cannot index the key-type name table out of bounds + * Correct the documented contract of `cjose_const_memcmp` (equal/not-equal, not orde + * Avoid a NULL dereference of the optional `cjose_err` in ECDH-ES ConcatKDF otherinfo creation; adds a regression test + * Check the per-block hash allocation in `cjose_concatkdf_derive` + * NUL-terminate the JWK `kid` without over-reading the source buffer + * Cleanse the JWS HMAC digest buffer before reallocation + * Make the JWE content-cipher (`enc`) dispatch mutually exclusive + * Cleanse the per-iteration digest buffer (derived key material) in `cjose_concatkdf_derive` + * Cleanse the base64url-encoded private key material on the EC and oct JWK export paths + * Cleanse the decrypted JWE plaintext buffer on release and reuse (incl. unauthenticated + plaintext left behind by a failed AES-GCM tag check) + * Validate the caller-supplied IV length on the JWE encrypt path (12 bytes for AES-GCM, + 16 for AES-CBC-HMAC), mirroring the decrypt-side checks; adds a regression test + * Require the RSA-decrypted CEK length to match the `enc` keysize and the encrypted key + segment to be exactly the modulus size; adds a regression test + * Use `size_t` for the dot-scan offsets in `cjose_jws_import` (truncated for >2GiB input) + * Check the result of `json_object_set_new` in `cjose_header_set` / `cjose_header_set_raw` + * Bounds-check the error-message table in `cjose_err_message` and render OpenSSL error + strings into a thread-local buffer instead of the shared static one + * Validate the JWS ECDSA signature length against the key's curve before splitting it into + R || S, rejecting non-canonical (e.g. trailing-byte-padded) signatures that the + `sig_len / 2` split would otherwise accept (RFC 7518 section 3.4); adds a regression test + * Avoid an unsigned underflow of the remaining-bytes counter on the final block of + `cjose_concatkdf_derive` + * Make the JWE CEK key-size (`enc`) selection mutually exclusive and reject an unrecognized + `enc` instead of deriving a zero-length CEK + * Fix EVP_CIPHER_CTX leak in AES-CBC content encryption on authentication-tag failure + * Avoid NULL dereference of the optional `cjose_err` in ECDH-ES key decryption + * Use a constant-time comparison for the multi-recipient CEK consistency check + * Cleanse private key material (RSA/EC/oct) on JWK import and export, and fix a leak of the + base64url buffer in EC private-key export + * Check the ephemeral-key allocation in ECDH key derivation + * Use integer arithmetic (instead of floating-point) for the base64url length check on + imported JWK fields + * Harden JWS EC signature reconstruction against allocation failures (NULL checks on + ECDSA_SIG_new and BN_new) + * Enforce the RFC 7518 minimum HMAC key length (key >= hash size) for JWS sign/verify + * Fix heap buffer overflow in AES key unwrap by validating the encrypted_key length before AES_unwrap_key + * Fix functions that rely on nonportable malloc behaviour; closes #29; thanks @kirill-shevtsov + * Check ECDH secret allocation result + * Check base64 decode length bounds + * Guard JWK retain count overflow + * Enforce JOSE IV lengths + * Check JOSE algorithms against key types + * Validate critical JOSE headers + * Cleanse sensitive buffers before release + * Guard JWE buffer length calculations + * Use OpenSSL constant-time comparisons + * Validate EC inputs before key agreement + * Fix JWS import allocation handling + +------------------------------------------------------------------- Old: ---- cjose-0.6.2.4.tar.gz New: ---- cjose-0.6.2.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cjose.spec ++++++ --- /var/tmp/diff_new_pack.O35Zz6/_old 2026-09-01 15:48:32.614147697 +0200 +++ /var/tmp/diff_new_pack.O35Zz6/_new 2026-09-01 15:48:32.616147767 +0200 @@ -1,7 +1,7 @@ # # spec file for package cjose # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: cjose -Version: 0.6.2.4 +Version: 0.6.2.8 Release: 0 Summary: C library implementing the Javascript Object Signing and Encryption (JOSE) License: MIT ++++++ cjose-0.6.2.4.tar.gz -> cjose-0.6.2.8.tar.gz ++++++ ++++ 5448 lines of diff (skipped)
