Apache Allura 1.17.0 released, including critical security fix
Tagged: release
What's New?
Apache Allura 1.17.0 has been released. It includes a critical security fix, adds OAuth2 support, and more.
For full details of all the changes and fixes, see the CHANGES file.
Critical Security Fix
CVE-2024-36471 sensitive information exposure via DNS rebinding
Severity: Critical
Versions Affected: 1.0.1 through 1.16.0
Description:
Import functionality is vulnerable to DNS rebinding attacks between verification and processing of the URL. Project administrators can run these imports, which could cause Allura to read from internal services and expose them.
Mitigation:
Users of Allura should upgrade to Allura 1.17.0.
If you are unable to upgrade, set this in your .ini config file:
disable_entry_points.allura.importers = forge-tracker, forge-discussion
That same .ini setting is also recommend for users who want maximum security on their Allura instance and don't need those importers available.
Credit:
This issue was discovered by truff
OAuth2 Support
To enable OAuth 2 with an existing .ini file, add:
auth.oauth2.enabled = true
Then users can create and use OAuth2 client apps within their user setting pages.
New Session Storage
New session cookie handling is available and more secure and safe. If you have an existing Allura instance, you can enable it with the following steps:
- add
session.jwt_secret_keys
to your .ini file, with a value generated bypython -c 'import secrets; print(secrets.token_hex());'
session.type = cookie
is no longer used and can be removed- optionally
session.read_original_format = true
and renamesession.validate_key
tosession.original_format_validate_key
for backwards compatibility. Remove after a transition period. - optionally
session.write_original_format = true
if it takes a while to deploy all your code to multiple hosts/procs. Then remove once all processes have new code.
Breaking Changes for Custom Extensions
#8556 deprecates the has_access(..)()
syntax. Custom extensions using this syntax will need to remove the second ()
so that it is just has_access(..)
. Next releases will remove support for the old syntax entirely.
Upgrade Instructions
To install updated dependencies, run: pip install -r requirements.txt --no-deps --upgrade --upgrade-strategy=only-if-needed
Run: paster ensure_index development.ini
in the Allura dir
If using docker, rebuild the allura image and restart containers.
Also, see the sections above about OAuth2 and New Session Storage.
Feel free to ask any questions on the dev mailing list.
Get 1.17.0
Download Allura and install it today.