Releases: OpenIDC/mod_auth_openidc
release 2.4.13
superseded by 2.4.13.1
release 2.4.12.3
Features
- add
OIDCProviderVerifyCertFilesoption to statically configure ID token validation keys; see #989; thanks @madsfreek
Bugfixes
- fix Apache shutfown/restart bug when
OIDCOAuthVerifyCertFilesis configured, where cert(s) on would be cast toapr_hash_tinstead ofapr_array_header_ton shutdown/restart; see #990; thanks @bommo1
Commercial
- binary packages for various other platforms such as Microsoft Windows 64bit/32bit, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7/8 on Power PC (ppc64, ppc64le), Oracle Linux 6/7, older Ubuntu and Debian distro's, Oracle HTTP Server 11.1/12.1/12.2, IBM HTTP Server 8/9, Solaris 11.4, IBM AIX 7.2 and Mac OS X are available under a commercial agreement via [email protected]
- support for Redis over TLS, Redis (TLS) Sentinel, and Redis (TLS) Cluster is available under a commercial license via [email protected]
release 2.4.12.2
Security
- CVE-2022-23527: prevent open redirect in default setup when
OIDCRedirectURLsAllowedis not configured
see: GHSA-q6f2-285m-gr53
Features
- allow overriding the type of lock used at compile time with
OIDC_LOCK
Commercial
- binary packages for various other platforms such as Microsoft Windows 64bit/32bit, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7/8 on Power PC (ppc64, ppc64le), Oracle Linux 6/7, older Ubuntu and Debian distro's, Oracle HTTP Server 11.1/12.1/12.2, IBM HTTP Server 8/9, Solaris 11.4, IBM AIX 7.2 and Mac OS X are available under a commercial agreement via [email protected]
- support for Redis over TLS, Redis (TLS) Sentinel, and Redis (TLS) Cluster is available under a commercial license via [email protected]
release 2.4.12.1
Bugfixes
- switch to using
apr_generate_random_bytesinstead ofapr_uuid_getto generate session identifiers so there's no longer a (rather implicit) dependency on alibaprthat is compiled againstlibuuidon Linux platforms; see #431, #603 and #694; thanks @amitnarang28 - fix cache file backend: delete the correct file upon logout; closes #955; thanks @damisanet
- fix cleanup of semaphores on graceful restarts; see #522, closes #458
- fix
OIDCProviderMetadataRefreshIntervalsince it was interpreted in microseconds instead of the documented and intended seconds; setting in to seconds would effectively turn of caching and pull the configuration document on each request - define
APLOG_TRACE1if it does not exist - correct
ap_hook_insert_filterfunction signature instub.c, part 3; see #784 - fixed printout of cache mutex errors in
cache/common.c - prefer
APR_LOCK_POSIXSEMoverAPR_LOCK_DEFAULTinapr_global_mutex_createwhich is apparently required for (some) ARM based builds - fix potential memory leak in
proto.cwhenoidc_util_create_symmetric_keyfails - fix potential memory leak in
proto.cwhenoidc_proto_validate_access_tokenfails (at_hashvalidation)
Features
- add option to use
ISO-8859-1encoding for propagated claim values by addinglatin1option toOIDCPassClaimsAs <> latin1; see #957; thanks @nvchaudhari1991
Note that the encoding - including the existing "base64url" - apply to both header and environment variables as well now
Packaging
- packages for CentOS 9, Debian Bookworm and Ubuntu Jammy have been added
- the (commercially provided) Windows 64bit/32bit builds now include support for Memcache and Redis
Commercial
- binary packages for various other platforms such as Microsoft Windows 64bit/32bit, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7/8 on Power PC (ppc64, ppc64le), Oracle Linux 6/7, older Ubuntu and Debian distro's, Oracle HTTP Server 11.1/12.1/12.2, IBM HTTP Server 8/9, Solaris 11.4, IBM AIX 7.2 and Mac OS X are available under a commercial agreement via [email protected]
- support for Redis over TLS, Redis (TLS) Sentinel, and Redis (TLS) Cluster is available under a commercial license via [email protected]
release 2.4.12
Release 2.4.12 was (re-)certified for all OpenID Connect Relying Party conformance profiles using the OpenID Foundation's certification suite: https://openid.net/certification/#RPs.
Features
- allow storing the
id_tokenin aclient-cookiebased session so that it can be used asid_token_hintvalue in a logout request later; see #812 and #888 - allow setting connection pool parameters for Memcache server connections; see #916; thanks @rpluem-vf
- add option to set a username for Redis >= 6.x ACL authentication via
OIDCRedisCacheUsername - register
request_object_signing_algin dynamic client registration when usingrequest_uri
Bugfixes
- increase size of the output buffer when using
libpcre2for substitution; closes #915 - support
OIDCSessionInactivityTimeoutvalues greater than 30 days when using Memcache; see #936, thanks @takesson - allow for step-up discovery with an external URL using HTML refresh; fixes behaviour on CentOS 7/8 when combined with
ProxyPass - apply exact length matching for
at_hashandc_hashvalidation - store access token obtained from backchannel in session over the one returned in the frontchannel for
code tokenandcode id_token tokenflows - check ID token signed response algorithm on backchannel
logout_tokenand retrieve its configuration value from the client metadata file
Packaging
- packages for CentOS 9, Debian Bookworm and Ubuntu Jammy have been added
- the (commercially provided) Windows 64bit/32bit builds now include support for Memcache and Redis
Commercial
- binary packages for various other platforms such as Microsoft Windows 64bit/32bit, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7/8 on Power PC (ppc64, ppc64le), Oracle Linux 6/7, older Ubuntu and Debian distro's, Oracle HTTP Server 11.1/12.1/12.2, IBM HTTP Server 8/9, Solaris 11.4, IBM AIX 7.2 and Mac OS X are available under a commercial agreement via [email protected]
- support for Redis over TLS, Redis (TLS) Sentinel, and Redis (TLS) Cluster is available under a commercial license via [email protected]
release 2.4.11.3
Note that as of release 2.4.11 running mod_auth_openidc behind a reverse proxy that sets X-Forwarded-* headers needs explicit configuration of OIDCXForwardedHeaders for mod_auth_openidc to interpret those headers, thus this may break existing configurations if unmodified for the former.
Bugfixes
- avoid memory leak when using PCRE2 regular expressions with array matching; closes #902; thanks @smanolache
- avoid memory leak when
cjose_jws_get_plaintextfails; closes #903; thanks @smanolache - fix handling of IPv6 based logout URLs; thanks @@codemaker219
Features
- Use optionally provided
sidandissrequest parameters during front channel logout; see #855; thanks @rpluem-vf - support
Forwardedheader in addition toX-Forwarded-*; see #853; thanks @studersi
Commercial
- binary packages for various other platforms such as Microsoft Windows 64bit/32bit, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7/8 on Power PC (ppc64, ppc64le), Oracle Linux 6/7, older Ubuntu and Debian distro's, Oracle HTTP Server 11.1/12.1/12.2, IBM HTTP Server 8/9, Solaris 11.4, IBM AIX 7.2 and Mac OS X are available under a commercial agreement via [email protected]
- support for Redis over TLS, Redis (TLS) Sentinel, and Redis (TLS) Cluster is available under a commercial license via [email protected]
release 2.4.11.2
Note that as of release 2.4.11 running mod_auth_openidc behind a reverse proxy that sets X-Forwarded-* headers needs explicit configuration of OIDCXForwardedHeaders for mod_auth_openidc to interpret those headers, thus this may break existing configurations if unmodified for the former.
Features
- add support for Apache expressions in
OIDCPathAuthRequestParamsandOIDCPathScope; see #594
Bugfixes
- add
Cache-Controlheaders to logout response; see #846; thanks @blackwhiser1
Other
- don't strip the header from encrypted JWTs as future versions of cjose may use compact
encoding for JWEs; this slightly increases state cookie size, by-value session cookies
and encrypted cache contents again at the benefit of forward cjose compatibility
Commercial
- binary packages for various other platforms such as Microsoft Windows 64bit/32bit, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7/8 on Power PC (ppc64, ppc64le), Oracle Linux 6/7, older Ubuntu and Debian distro's, Oracle HTTP Server 11.1/12.1/12.2, IBM HTTP Server 8/9, Solaris 11.4, IBM AIX 7.2 and Mac OS X are available under a commercial agreement via [email protected]
- support for Redis over TLS, Redis (TLS) Sentinel, and Redis (TLS) Cluster is available under a commercial license via [email protected]
release 2.4.11.1
Note that as of release 2.4.11 running mod_auth_openidc behind a reverse proxy that sets X-Forwarded-* headers needs explicit configuration of OIDCXForwardedHeaders for mod_auth_openidc to interpret those headers, thus this may break existing configurations if unmodified for the former.
Bugfixes
- fix
OIDCUnAuthAction passnot passing claims for authenticated users, see #790, thanks @cm0s - fix race conditions in the file cache backend, see #777, thanks @dbakker and @blackwhiser1
- fix memory leaks over graceful restarts, see #823 and #824, thanks @smanolache
- avoid using
%lluprint formatter and switch to%luforunsigned longso it works cross platform - add a check to make sure URLs do not contain unencoded Unicode characters, see #796, thanks @cnico
Features
- warn about mismatch between incoming
X-Forwarded-*headers andOIDCXForwardedHeadersconfiguration - add support for OpenSSL 3.0
Other
- remove
test-cmd jwk2certcommand - correct
ap_hook_insert_filterfunction signature instub.c, part 2, closes #784, thanks @stroeder - add Valgrind Github action
Commercial
- binary packages for various other platforms such as Microsoft Windows 64bit/32bit, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7/8 on Power PC (ppc64, ppc64le), Oracle Linux 6/7, older Ubuntu and Debian distro's, Oracle HTTP Server 11.1/12.1/12.2, IBM HTTP Server 8/9, Solaris 11.4 and Mac OS X are available under a commercial agreement via [email protected]
- support for Redis over TLS, Redis (TLS) Sentinel, and Redis (TLS) Cluster is available under a commercial license via [email protected]
release 2.4.11
Note that as of this release running mod_auth_openidc behind a reverse proxy that sets X-Forwarded-* headers needs explicit configuration of OIDCXForwardedHeaders for mod_auth_openidc to interpret those headers, thus this may break existing configurations if unmodified for the former.
Bugfixes
- fix use of regular expressions in
Requirestatements - no longer defer multi-OP Discovery to the content handler to allow
RequireAllandRequire notdirectives in multi-OP setups; closes #775; thanks @rajeevn1 - improve handling session duration expiry when combined with
OIDCUnAuthAction passor Discovery; see #778 - terminate on startup when the crypto passphrase generated by
exec:is empty; see #767 - allow authorization on
inforequests, see #746 - avoid debug printout of payload as header when the latter is stripped
- fix race condition in file cache backend reading truncated files under load; see #777; thanks @dbakker
Features
- make interpretation of
X-Forwarded-*headers configurable, defaulting to none so mod_auth_openidc running behind a reverse proxy that setsX-Forwarded-*headers needs explicit configuration ofOIDCXForwardedHeaders - make
X-Frame-Optionsheader returned on OIDC front-channel logout requests configurable throughOIDCLogoutXFrameOptions; closes #464 - add
x5tto JWT header inprivate_key_jwtclient assertions; for interop with Azure AD; see #762; thanks @juur - improve detection of suspicious redirect URLs; add test list
- add administrative session revocation capability via
<redirect_uri>?revoke_session=<sessionid>
Packaging
- add support for
libpcre2; see #740 - add
AM_PROG_CC_C_Otoconfigure.ac(at least for RHEL 7.7); see #765; thanks @bitmagewb - include
<openssl/bn.h>injose.cto compile with OpenSSL 1.0.x - install taking into account
DESTDIR; see #674; thanks @alerque
Commercial
- binary packages for various other platforms such as Microsoft Windows 64bit/32bit, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7/8 on Power PC (ppc64, ppc64le), Oracle Linux 6/7, older Ubuntu and Debian distro's, Oracle HTTP Server 11.1/12.1/12.2, IBM HTTP Server 8/9, Solaris 11.4 and Mac OS X are available under a commercial agreement via [email protected]
- support for Redis over TLS, Redis (TLS) Sentinel, and Redis (TLS) Cluster is available under a commercial license via [email protected]
release 2.4.10
This release improves prevention of state cookies piling up (e.g. for Single Page Applications) by interpreting Sec-Fetc-* headers provided by modern browsers. This also means that - by default - authentication in an iframe is prevented, which may impact existing deployments.
Features
- add check for
Sec-Fetch-Destheader != "document" value andSec-Fetch-Modeheader != "navigate" to auto-detect requests that are not capable of handling an authentication round trip to the Provider; see #714; thanks @studersi - add redirect/text options to
OIDCUnAutzAction; see #715; thanks @chrisinmtown - log require claims failure on info level
- backport
ap_get_exec_line, supporting theexec:option inOIDCCryptoPassphraseto Apache 2.2
Bugfixes
- return
HTTP 200forOPTIONSrequests inauth-openidcmixed mode - don't apply claims based authorization for
OPTIONSrequests so paths protected withRequire claimdirectives will now also returnHTTP 200forOPTIONSrequests - fix memory leak when parsing JWT access token fails (in RS mode)
- fix regexp substition crash using
OIDCRemoteUserClaim; thanks @nneul; closes #720
Packaging
- complete usage of autoconf/automake; see #674
- add .deb for Debian Bullseye
Commercial
- binary packages for various other platforms such as Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7/8 on Power PC (ppc64, ppc64le), Oracle Linux 6/7, older Ubuntu and Debian distro's, Oracle HTTP Server 11.1/12.1/12.2, IBM HTTP Server 8/9, Solaris 11.4, Mac OS X and Microsoft Windows 64bit/32bit are available under a commercial agreement via [email protected]
- support for Redis over TLS, Redis (TLS) Sentinel, and Redis (TLS) Cluster is available under a commercial license via [email protected]