release 2.3.3
zandbelt
released this
Assets
- 149 KB libapache2-mod-auth-openidc_2.3.3-1.jessie.1_amd64.deb
- 145 KB libapache2-mod-auth-openidc_2.3.3-1.stretch.1_amd64.deb
- 142 KB libapache2-mod-auth-openidc_2.3.3-1.trusty.1_amd64.deb
- 157 KB libapache2-mod-auth-openidc_2.3.3-1.wheezy.1_amd64.deb
- 146 KB libapache2-mod-auth-openidc_2.3.3-1.xenial.1_amd64.deb
- 286 KB mod_auth_openidc-2.3.3-1.el6.x86_64.rpm
- 382 KB mod_auth_openidc-2.3.3-1.el7.centos.x86_64.rpm
- 499 KB mod_auth_openidc-2.3.3-apache-2.4.x-win64.zip
- 244 KB mod_auth_openidc-2.3.3.tar.gz
- Source code (zip)
- Source code (tar.gz)
Features
- add support for passing claims resolved from the UserInfo endpoint as a JSON object or (when available) as a JWT with
OIDCPassUserInfoAs; closes #311 - add support for authentication to the introspection endpoint with a bearer token using
OIDCOAuthIntrospectionClientAuthBearerToken; thanks @cristichiru (works in OAuth 2.0 mode only, does not mix with OIDC setups because of a bug in 2.3.3)
Bugfixes
- avoid crash when no scheme is set on
OIDCProviderMetadataURL; closes #303; thanks @iconoeugen - avoid crash when no
OIDCOAuthClientIDis set for remote access token validation - don't enforce
iatchecks on locally validated JWT access tokens (e.g. as issued by Keycloak)
Other
- the Github repository is transferred to ZmartZone IAM
- a number of compiler/static/runtime code analysis issues were addressed
Packaging
- the libcjose 0.5.1 binaries that this module depends on are available from the release 2.3.0 "Assets" section
- Ubuntu Xenial packages can also be used on Ubuntu Yakkety, Zesty and Artful; the Debian Wheezy package can be used on Ubuntu Precise
- the Windows 64-bit binary was now compiled with Visual Studio 2017 and as such depends on the "Visual C++ Redistributable for Visual Studio 2015" that needs to be installed on older platforms first
- the Windows build needs OpenSSL 1.0.2 64 bit rather than OpenSSL 1.1.0
release 2.3.2
zandbelt
released this
Assets
- 148 KB libapache2-mod-auth-openidc_2.3.2-1.jessie.1_amd64.deb
- 144 KB libapache2-mod-auth-openidc_2.3.2-1.stretch.1_amd64.deb
- 140 KB libapache2-mod-auth-openidc_2.3.2-1.trusty.1_amd64.deb
- 155 KB libapache2-mod-auth-openidc_2.3.2-1.wheezy.1_amd64.deb
- 146 KB libapache2-mod-auth-openidc_2.3.2-1.wily.1_amd64.deb
- 283 KB mod_auth_openidc-2.3.2-1.el6.x86_64.rpm
- 379 KB mod_auth_openidc-2.3.2-1.el7.centos.x86_64.rpm
- 498 KB mod_auth_openidc-2.3.2-apache-2.4.x-win64.zip
- 243 KB mod_auth_openidc-2.3.2.tar.gz
- Source code (zip)
- Source code (tar.gz)
Bugfixes
- fix "graceful" restart for shm/redis cache backends; see #296
- fix public client configurations; also add support for endpoint authentication method
none - fix issue with the combination of shared memory (
shm) cache and using encryption (OIDCCacheEncrypt On) where the cache value would be corrupted after the first (successful) retrieval
Features
- optionally remove request object parameters from the authorization request URL with
copy_and_remove_from_request; see #294 - add regex substitution for
*RemoteUserClaim; thanks @hihellobolke - add issuer specific redirect URI option (
issuer_specific_redirect_uri) for multi-provider setups to mitigate IDP mixup; see #291 - update experimental token binding support to https://tools.ietf.org/html/draft-ietf-tokbind-ttrp-01 and use header names prefixed with
Sec-; depends on mod_token_binding >=0.3.4now
Other
- don't abort when mutex operations fail and printout textual descriptions of errors returned by mutex operations
- support paths that are relative to the Apache root dir for:
OIDCHTMLErrorTemplate,OIDCPublicKeyFiles,OIDCPrivateKeyFiles,OIDCOAuthVerifyCertFiles,OIDCClientTokenEndpointCert,OIDCClientTokenEndpointKey,OIDCOAuthIntrospectionEndpointCertandOIDCOAuthIntrospectionEndpointKey - properly support JSON boolean values in metadata
.conffiles - add FreeBSD instructions to documentation; see #298
Packaging
- the libcjose 0.5.1 binaries that this module depends on are available from the release 2.3.0 "Downloads" section
- Ubuntu Wily packages can also be used on Ubuntu Xenial, Yakkety, Zesty and Artful; the Debian Wheezy package can be used on Ubuntu Precise
- the Windows 64-bit binary was now compiled with Visual Studio 2017 and as such depends on the "Visual C++ Redistributable for Visual Studio 2015" that needs to be installed on older platforms first
- the Windows build needs OpenSSL 1.0.2 64 bit rather than OpenSSL 1.1.0
release 2.3.1
zandbelt
released this
Assets
- 147 KB libapache2-mod-auth-openidc_2.3.1-1.jessie.1_amd64.deb
- 142 KB libapache2-mod-auth-openidc_2.3.1-1.stretch.1_amd64.deb
- 139 KB libapache2-mod-auth-openidc_2.3.1-1.trusty.1_amd64.deb
- 153 KB libapache2-mod-auth-openidc_2.3.1-1.wheezy.1_amd64.deb
- 144 KB libapache2-mod-auth-openidc_2.3.1-1.wily.1_amd64.deb
- 278 KB mod_auth_openidc-2.3.1-1.el6.x86_64.rpm
- 372 KB mod_auth_openidc-2.3.1-1.el7.centos.x86_64.rpm
- 467 KB mod_auth_openidc-2.3.1-apache-2.4.x-win64.zip
- 238 KB mod_auth_openidc-2.3.1.tar.gz
- Source code (zip)
- Source code (tar.gz)
Bugfixes
- handle multiple values in
X-Forwarded-*headers as to better support multiple chained reverse proxies in front of mod_auth_openidc - fix bug where
token_endpoint_authset toprivate_key_jwtwould fail to provide the credential ifclient_secretwasn't set - remove
A128GCMandA192GCMfrom the supported algorithms in the config file (and docs)
Features
- assume the default port when
X-Forwarded-Protohas been set; closes #282 and may address #278 - support sending the authentication request via HTTP POST through HTML/Javascript autosubmit with
OIDCProviderAuthRequestMethod - support
private_key_jwtandclient_secret_jwtas client authentication methods for OAuth 2.0 bearer token introspection
Other
- log request headers when used and set
- printout support for
libjqexpressions at startup - update (experimental) token binding support to https://tools.ietf.org/html/draft-campbell-tokbind-ttrp-00 and depend on
mod_token_binding >= 0.3.0 - refactored quite a bit of code to support compiler
#define-d strings
Packaging Notes
- the
libcjose 0.5.1dependency (with a security fix and renaming) was packaged with release 2.3.0 - Ubuntu Wily packages can also be used on Xenial and Yakkety
- on Windows (64 bit) platforms you may need to update
msvcr120.dll
release 2.3.0
zandbelt
released this
Assets
- 97.6 KB cjose-0.5.1-1.el6.x86_64.rpm
- 114 KB cjose-0.5.1-1.el7.centos.x86_64.rpm
- 458 KB cjose-0.5.1.tar.gz
- 145 KB libapache2-mod-auth-openidc_2.3.0-1.jessie.1_amd64.deb
- 140 KB libapache2-mod-auth-openidc_2.3.0-1.stretch.1_amd64.deb
- 138 KB libapache2-mod-auth-openidc_2.3.0-1.trusty.1_amd64.deb
- 152 KB libapache2-mod-auth-openidc_2.3.0-1.wheezy.1_amd64.deb
- 143 KB libapache2-mod-auth-openidc_2.3.0-1.wily.1_amd64.deb
- 29.3 KB libcjose0_0.5.1-1.jessie.1_amd64.deb
- 29.3 KB libcjose0_0.5.1-1.stretch.1_amd64.deb
- 27.5 KB libcjose0_0.5.1-1.trusty.1_amd64.deb
- 34.2 KB libcjose0_0.5.1-1.wheezy.1_amd64.deb
- 27.4 KB libcjose0_0.5.1-1.wily.1_amd64.deb
- 27.3 KB libcjose0_0.5.1-1.xenial.1_amd64.deb
- 275 KB mod_auth_openidc-2.3.0-1.el6.x86_64.rpm
- 366 KB mod_auth_openidc-2.3.0-1.el7.centos.x86_64.rpm
- 466 KB mod_auth_openidc-2.3.0-apache-2.4.x-win64.zip
- 234 KB mod_auth_openidc-2.3.0.tar.gz
- Source code (zip)
- Source code (tar.gz)
Features
- support relative
OIDCRedirectURI's; closes #200; thanks @moschlar - add support for custom actions to take after authorization fails with
OIDCUnAutzAction; see #263
this enables step-up authentication scenarios when combined with the following:- add
OIDCPathAuthRequestParamsthat is configurable on a per-path basis and useOIDCAuthRequestParamsfor the static per-provider value - add
OIDCPathScopethat is configurable on a per-path basis and concatenated withOIDCScopeas static per-provider value
- add
- support 3rd-party-init-SSO with additional authentication request params when a single static provider has been configured; see #233
- add support for an empty
OIDCClaimPrefix; can be used withOIDCWhiteListedClaimsto protect selected headers; see #264 - support sending Authorization Request as "request" object in addition to "request_uri"; thanks @suttod
- support nested claim matching in
Requiredirectives; thanks @suttod - support explicitly setting the
kidof the private key inOIDCPrivateKeyFiles; thanks @suttod - allow for a higher session inactivity timeout maximum value
- support JWT verification against multiple keys with no provided
kidby looping over the provided keys (only works with cjose >= 0.5.0) - allow for postfixing
OIDCRemoteUserwith the issuer value after applying a regex
Bugfixes
- fix wrong return value for cache_file_set in the file cache backend (
OIDCCacheType file); thanks Ernani Joppert Pontes Martins - fix cache fallback so it happens (when enabled) only after failure
- fix potential crash on prefork process exit when used with Redis cache backend
- don't assume that having
OIDCCryptoPassphraseset means we should validate the config for
AuthType openid-connectsince it can now also be used to encrypt (auth20) cache entries - avoid decoding a JSON object and logging an error when the input is NULL
e.g. when claims have not been resolved because userinfo endpoint is not set - make
OIDCStripCookieswork onAuthType oauth20paths; closes #273; thanks Michele Danieli - avoid crash when the
X-Forwarded-Protoheader is not correctly set by a reverse proxy in front of mod_auth_openidc - fix parse function of
OIDCRequestObjectconfiguration option; thanks @suttod - avoid cleaning our own state cookie twice when it is expired
- fix caching of provider configuration metadata URLs and JWKs URIs when using
OIDCCacheType file
Other
- improve error message in
oidc_util_http_sendwhenap_pass_brigadefails and mention possible interference with mod_deflate - change warn log about missing token binding ID to debug log
- improve documentation for
OIDCCryptoPassphrase; closes #268 - enable JQ-based claims expression matching when compiled from source; see #178
- normalize cache backend logging
Packaging Notes
- libcjose version 0.5.1 with a security fix was released and packaged here; the module is backwards compatible with 0.4.1 though (see also the cjose package renaming notes with 2.2.0)
- Centos 6 RPMs depend on
libhiredis-0.12e.g. from https://pkgs.org/centos-6/puias-unsupported-x86_64/ - on Windows (64 bit) platforms you may need to update
msvcr120.dll
release 2.2.0
zandbelt
released this
Assets
- 97.6 KB cjose-0.4.1-1.el6.x86_64.rpm
- 115 KB cjose-0.4.1-1.el7.centos.x86_64.rpm
- 140 KB libapache2-mod-auth-openidc_2.2.0-1.jessie.1_amd64.deb
- 135 KB libapache2-mod-auth-openidc_2.2.0-1.stretch.1_amd64.deb
- 133 KB libapache2-mod-auth-openidc_2.2.0-1.trusty.1_amd64.deb
- 146 KB libapache2-mod-auth-openidc_2.2.0-1.wheezy.1_amd64.deb
- 138 KB libapache2-mod-auth-openidc_2.2.0-1.wily.1_amd64.deb
- 29 KB libcjose0_0.4.1-1.jessie.1_amd64.deb
- 29 KB libcjose0_0.4.1-1.stretch.1_amd64.deb
- 27.4 KB libcjose0_0.4.1-1.trusty.1_amd64.deb
- 34.2 KB libcjose0_0.4.1-1.wheezy.1_amd64.deb
- 27.4 KB libcjose0_0.4.1-1.wily.1_amd64.deb
- 268 KB mod_auth_openidc-2.2.0-1.el6.x86_64.rpm
- 357 KB mod_auth_openidc-2.2.0-1.el7.centos.x86_64.rpm
- 462 KB mod_auth_openidc-2.2.0-apache-2.4.x-win64.zip
- 220 KB mod_auth_openidc-2.2.0.tar.gz
- Source code (zip)
- Source code (tar.gz)
Features
- improved support for Single Page Applications, see here and here
- add session info hook that is configurable through
OIDCInfoHook - add
AuthType auth-openidcoption that allows bothoauth20andopenid-connectbehaviours on the same path
- add session info hook that is configurable through
- add encryption for all cache entries instead of just session data through
OIDCCacheEncrypt - add cookie SameSite flag/policy through
OIDCCookieSameSite - return HTTP 200 on OPTIONS requests to (unauthenticated)
oauth20paths - add fallback to a by-value session cookie if the primary session cache fails with
OIDCSessionCacheFallbackToCookie - add support for black- and/or white-listing claims with
OIDCBlackListedClaimsandOIDCWhiteListedClaims
Bugfixes
- fix clearing chunked session cookies on logout; closes #246; thanks @Jharmuth
- fix removing session state from cache on logout
Experimental
- add prototype token binding support in conjunction with mod_token_binding, see here
- for state & session cookies, see here
- for ID tokens with OpenID Connect Token Bound Authentication support
- for Authorization Codes with OAuth 2.0 Token Binding for Authorization Codes
Packaging Notes
- the name of the
cjosedependency changed for Debian and Ubuntu releases to be in line with the name in the official distributions:libcjose0; so an update to 2.2.0 via the provided packages requires re-installing the renamedlibcjose0package; you can use the binaries attached to this release or use the one in the Debian/Ubuntu distributions as long as you have version >= 0.4.1; that also holds for CentOS/Fedora - the name of Debian and Ubuntu packages is more explicit now about the distribution that it is intended for; Ubuntu Wily packages can also be used on Xenial and Yakkety
- Centos 6 RPMs depend on
libhiredis-0.12now e.g. from https://pkgs.org/centos-6/puias-unsupported-x86_64/
release 2.1.6
zandbelt
released this
Assets
- 135 KB libapache2-mod-auth-openidc_2.1.6-1.bpo70.1_amd64.deb
- 127 KB libapache2-mod-auth-openidc_2.1.6-1.stretch.1_amd64.deb
- 125 KB libapache2-mod-auth-openidc_2.1.6-1ubuntu1.trusty.1_amd64.deb
- 129 KB libapache2-mod-auth-openidc_2.1.6-1ubuntu1.wily.1_amd64.deb
- 130 KB libapache2-mod-auth-openidc_2.1.6-1_amd64.deb
- 246 KB mod_auth_openidc-2.1.6-1.el6.x86_64.rpm
- 329 KB mod_auth_openidc-2.1.6-1.el7.centos.x86_64.rpm
- 457 KB mod_auth_openidc-2.1.6-apache-2.4.x-win64.zip
- 203 KB mod_auth_openidc-2.1.6.tar.gz
- Source code (zip)
- Source code (tar.gz)
This is a security release :
Those using AuthType oauth20 together with applications that interpret headers set by mod_auth_openidc on paths that disclose sensitive information are affected and should upgrade.
Security
- scrub headers for
AuthType oauth20
On accessing paths protected with AuthType oauth20 no headers would be scrubbed before mod_auth_openidc sets its own headers, so malicious software/users could set OIDC_CLAIM_ and OIDCAuthNHeader headers that applications would interpret as set by mod_auth_openidc only if those headers are not set and overwritten by mod_auth_openidc itself.
Bugfixes
- handle
OIDCUnAuthActionafter max session duration is exceeded; see #220; thanks @phybros - fix parse
OIDCOAuthTokenExpiryClaim; closes #225; thanks Alessandro Papacci - correctly parse
kidinOIDCPublicKeyFilesandOIDCOAuthVerifyCertFiles; thanks Alessandro Papacci
Other
- improve logging wrt. session management availability; closes #223
- handle only
X-Requested-With: XMLHttpRequestas non-browser request; closes #228; thanks @mguillem - improve error message on state timeout; closes #226; thanks @security4java
- a call to the refresh hook now also resets the session inactivity timeout
Packaging Notes
- Accompanying libcjose packages can be found in the 2.1.3 release
- Ubuntu Wily packages can also be used on Xenial and Yakkety
- Centos 6 RPMs depend on
libhiredis-0.12now e.g. from https://pkgs.org/centos-6/puias-unsupported-x86_64/
release 1.8.10.3
zandbelt
released this
This is a security maintenance/backport release for Debian/Ubuntu/CentOS distributions that carry 1.8.10.1; in general one should use >= 2.1.6 from the releases page going forward:
Those using AuthType oauth20 together with applications that interpret headers set by mod_auth_openidc on paths that disclose sensitive information are affected and should upgrade.
Security
- scrub headers for
AuthType oauth20
On accessing paths protected with AuthType oauth20 no headers would be scrubbed before mod_auth_openidc sets its own headers, so malicious software/users could set OIDC_CLAIM_ and OIDCAuthNHeader headers that applications would interpret as set by mod_auth_openidc only if those headers are not set and overwritten by mod_auth_openidc itself.
release 1.8.10.2
zandbelt
released this
This is a security maintenance/backport release for Debian/Ubuntu/CentOS distributions that carry 1.8.10.1; in general one should use >= 2.1.5 from the releases page going forward:
Those using AuthType openid-connect together with OIDCUnAuthAction pass on paths that disclose sensitive information based on the authenticated user are affected and should upgrade.
Security
- scrub headers on
OIDCUnAuthAction pass; see #222
On accessing paths protected with OIDCUnAuthAction pass no headers would be scrubbed when a user is not authenticated, so malicious software/users could set OIDC_CLAIM_ and OIDCAuthNHeader headers that applications would interpret as set by mod_auth_openidc even though the user has no authenticated session.
Bugfixes
- use
AUTHZ_DENIEDinstead ofHTTP_UNAUTHORIZEDinoidc_authz_checker; see #135