pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [pkgsrc-2026Q2] pkgsrc/security/p5-Crypt-OpenSSL-X509
Module Name: pkgsrc
Committed By: maya
Date: Thu Jul 16 21:11:56 UTC 2026
Modified Files:
pkgsrc/security/p5-Crypt-OpenSSL-X509 [pkgsrc-2026Q2]: Makefile
distinfo
Log Message:
Pullup ticket #7184 - requested by taca
security/p5-Crypt-OpenSSL-X509: Security fix
Revisions pulled up:
- security/p5-Crypt-OpenSSL-X509/Makefile 1.3
- security/p5-Crypt-OpenSSL-X509/distinfo 1.2
---
Module Name: pkgsrc
Committed By: wiz
Date: Tue Jul 14 09:17:17 UTC 2026
Modified Files:
pkgsrc/security/p5-Crypt-OpenSSL-X509: Makefile distinfo
Log Message:
p5-Crypt-OpenSSL-X509: update to 2.1.3.
## 2.1.3 2026-07-12
- Fixed CVE-2026-58102: heap out-of-bounds read in `hv_exts()`.
The function allocated a fixed 128-byte buffer for an extension's
OID string but used `OBJ_obj2txt()`'s return value (the full required
length, not the number of bytes actually written) as the key length
passed to `hv_store()`. A certificate with an extension whose OID
stringifies to more than 128 bytes caused a heap over-read. Fixed
with a two-phase `OBJ_obj2txt()` call (probe the required length,
allocate exactly, then format) and by using `strlen(key)` rather
than the `OBJ_obj2txt()` return value for the `hv_store()` key
length. This is a **security fix; update is strongly recommended**
- Fixed CVE-2026-58101: NULL-pointer dereference in several
`Crypt::OpenSSL::X509::Extension` helpers. `X509V3_EXT_d2i()`
returns `NULL` when an extension's DER payload fails to parse, and
the `AUTHORITY_KEYID` `keyid` field is legitimately `NULL` for
Authority Key Identifiers that carry only issuer/serial. `basicC()`,
`ia5string()`, `auth_att()`, and `keyid_data()` dereferenced these
values unconditionally, allowing an attacker-supplied certificate
to crash any process that parsed it. All four helpers now guard
against `NULL`; `basicC()` croaks on unparseable DER (since it
feeds a CA/pathLen security decision), the others fall back to safe
empty values. This is a **security fix; update is strongly
recommended**
- Hardened `bit_string()` and `extendedKeyUsage()` with the same
defence-in-depth `NULL` guards as the CVE-2026-58101 fix, for
consistency across all extension helpers, even though the underlying
OpenSSL calls were already `NULL`-tolerant
- Fixed several memory leaks and undefined-behaviour issues found
during review of the above fixes: `auth_att()` no longer leaks the
`AUTHORITY_KEYID` on every call; `extendedKeyUsage()` no longer
leaks the popped `ASN1_OBJECT`s or the `STACK_OF(ASN1_OBJECT)`
container, and now guards `OBJ_nid2sn()`'s result (which can be
`NULL` for unregistered NIDs) before passing it to `BIO_printf()`'s
`%s` format; `bit_string()` no longer leaks the `ASN1_BIT_STRING`
returned by `X509V3_EXT_d2i()`; `hv_exts()` now rejects empty OIDs
and checks the return value of its second `OBJ_obj2txt()` call
rather than assuming success
- Documented `basicC()`, `ia5string()`, `bit_string()`, `auth_att()`,
`keyid_data()`, and `extendedKeyUsage()` in the
`Crypt::OpenSSL::X509::Extension` POD, explicitly noting that
`basicC()` throws on malformed DER so callers should wrap it in
`eval {}`
## 2.1.2 2026-06-25
- Applied PR
[#128](https://github.com/dsully/perl-crypt-openssl-x509/pull/128)
from @maxbes (Maxime Besson) fixing `has_extension_oid` returning
incorrect results when multiple certificates are instantiated in
a single Perl process. The previous implementation stored the
extension cache in a package variable, causing it to be shared
across all certificate objects. The cache is now held per-instance,
so each certificate object maintains its own independent extension
list. This is a **bug fix release; update is recommended**.
Contributed by @maxbes
## 2.1.1 2026-06-03
- Applied PR
[#126](https://github.com/dsully/perl-crypt-openssl-x509/pull/126)
moving `-DOPENSSL_API_COMPAT` from `OPTIMIZE` to `CCFLAGS`.
Previously, users could override `OPTIMIZE` (e.g., `perl Makefile.PL
OPTIMIZE='-Wdiscarded-qualifiers'`), which silently dropped the
`-DOPENSSL_API_COMPAT` define and caused OpenSSL 3.0 deprecation
warnings. Now placed in `CCFLAGS` (appended to existing ccflags)
to ensure it is always applied regardless of user `OPTIMIZE`
settings. Closes issue
[#123](https://github.com/dsully/perl-crypt-openssl-x509/issues/123).
Contributed by @jonasbn with co-authoring from Claude
- Applied PR
[#125](https://github.com/dsully/perl-crypt-openssl-x509/pull/125)
fixing const-correctness warnings reported by @ppisar in follow-up
feedback on issue
[#123](https://github.com/dsully/perl-crypt-openssl-x509/issues/123).
OpenSSL 1.1.0+ returns const-qualified pointers from several accessor
functions; added explicit casts at read-only call sites to resolve
`-Wdiscarded-qualifiers` and
`-Wincompatible-pointer-types-discards-qualifiers` warnings. Affected
functions: `X509_get_ext()`, `X509_get_subject_name()`,
`X509_get_issuer_name()`, `X509_get_X509_PUBKEY()`,
`X509_EXTENSION_get_object()`, `X509_CRL_get_issuer()`,
`X509_NAME_get_entry()`. Contributed by @jonasbn with co-authoring
from Claude
- Improved OpenSSL version detection in tests when `OPENSSL_PREFIX`
is set. Test suite now reports the version of the OpenSSL library
actually being tested (as specified by `scripts/test.sh`) rather
than the default PATH binary. Also added warning when `OPENSSL_PREFIX`
points to a missing or non-executable binary to avoid silent
failures. Contributed by @jonasbn with co-authoring from Claude
- Applied PR
[#124](https://github.com/dsully/perl-crypt-openssl-x509/pull/124)
adding OpenSSL 4.0 compatibility, addressing issue
[#123](https://github.com/dsully/perl-crypt-openssl-x509/issues/123).
OpenSSL 4.0.0 made `ASN1_STRING` types opaque, breaking direct
struct member access. Conditional compilation (`OPENSSL_VERSION_NUMBER
>= 0x40000000L`) now uses accessor functions (`ASN1_STRING_length()`,
`ASN1_STRING_get0_data()`, `ASN1_STRING_type()`) for OpenSSL 4.x
while maintaining backward compatibility with earlier versions.
Fixed functions: `sig_print()`, `ia5string()`, `keyid_data()`,
`is_asn1_type()`, `encoding()`. Also fixed a buffer over-read and
memory leaks in `ia5string()` and `keyid_data()`. Added
`OPENSSL4_TESTING.md` with build and test instructions and
`scripts/test.sh` for testing against multiple OpenSSL versions.
Contributed by @jonasbn with co-authoring from Copilot and Claude
- Applied PR
[#122](https://github.com/dsully/perl-crypt-openssl-x509/pull/122)
improving documentation for the `subjectaltname` method, addressing
issue [#92](https://github.com/dsully/perl-crypt-openssl-x509/issues/92).
All eight `GeneralName` types defined in the embedded ASN.1 schema
are now listed with type annotations; notes that `otherName` (tag
`[0]` per RFC 5280) is not implemented. Contributed by @jonasbn
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.2.1 pkgsrc/security/p5-Crypt-OpenSSL-X509/Makefile
cvs rdiff -u -r1.1 -r1.1.2.1 pkgsrc/security/p5-Crypt-OpenSSL-X509/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/security/p5-Crypt-OpenSSL-X509/Makefile
diff -u pkgsrc/security/p5-Crypt-OpenSSL-X509/Makefile:1.2 pkgsrc/security/p5-Crypt-OpenSSL-X509/Makefile:1.2.2.1
--- pkgsrc/security/p5-Crypt-OpenSSL-X509/Makefile:1.2 Sun Jun 7 13:35:24 2026
+++ pkgsrc/security/p5-Crypt-OpenSSL-X509/Makefile Thu Jul 16 21:11:56 2026
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.2 2026/06/07 13:35:24 wiz Exp $
+# $NetBSD: Makefile,v 1.2.2.1 2026/07/16 21:11:56 maya Exp $
-DISTNAME= Crypt-OpenSSL-X509-2.0.1
+DISTNAME= Crypt-OpenSSL-X509-2.1.3
PKGNAME= p5-${DISTNAME}
-PKGREVISION= 1
CATEGORIES= security perl5
-MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Crypt/}
+MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=../../authors/id/J/JO/JONASBN/}
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
HOMEPAGE= https://github.com/dsully/perl-crypt-openssl-x509
Index: pkgsrc/security/p5-Crypt-OpenSSL-X509/distinfo
diff -u pkgsrc/security/p5-Crypt-OpenSSL-X509/distinfo:1.1 pkgsrc/security/p5-Crypt-OpenSSL-X509/distinfo:1.1.2.1
--- pkgsrc/security/p5-Crypt-OpenSSL-X509/distinfo:1.1 Tue Jun 2 13:23:06 2026
+++ pkgsrc/security/p5-Crypt-OpenSSL-X509/distinfo Thu Jul 16 21:11:56 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.1 2026/06/02 13:23:06 taca Exp $
+$NetBSD: distinfo,v 1.1.2.1 2026/07/16 21:11:56 maya Exp $
-BLAKE2s (Crypt-OpenSSL-X509-2.0.1.tar.gz) = d80ac3fe982d08ab4cae487b3fc902be88a031745c62096d319c98492aea1f94
-SHA512 (Crypt-OpenSSL-X509-2.0.1.tar.gz) = 987a033c3de1ab7ed4a3da012979bb98a8ed1f0766397f564d6996276cc254a3b79982df2f6f956da6cdfd3ad370e23d1e0656afe35ab261c2fc3e0f16b0b64b
-Size (Crypt-OpenSSL-X509-2.0.1.tar.gz) = 155190 bytes
+BLAKE2s (Crypt-OpenSSL-X509-2.1.3.tar.gz) = f4520a9f15609840939fd4e15d52b88c2046affad119385bf99f9ce0a89e2931
+SHA512 (Crypt-OpenSSL-X509-2.1.3.tar.gz) = 3ae95f75e47b44253c3b978863b35a36085c44f4740c5974d955430b8ef0ac4bb6fcde7d97d03aa0a546b14eeecc669c82d2f0463ba3719b4336df8d4ee254a1
+Size (Crypt-OpenSSL-X509-2.1.3.tar.gz) = 178318 bytes
Home |
Main Index |
Thread Index |
Old Index