Skip to content

v4.1.3

Compare
Choose a tag to compare
@ClearlyClaire ClearlyClaire released this 06 Jul 13:12
· 96 commits to stable-4.1 since this release

Mastodon

⚠️ This release is an important security release fixing multiple critical security issues (CVE-2023-36460, CVE-2023-36459).

Corresponding security releases are available for the 4.0.x branch and the 3.5.x branch.
If you are using nightly builds, do not use this release but update to nightly-2023-07-06-security or newer instead. If you are on the main branch, update to the latest commit.

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires streaming API restart
ℹ️ There are suggested reverse proxy configuration changes
⚠️ The minimal supported ImageMagick version has been bumped to 6.9.7-7

For more information, scroll down to the upgrade instructions section.

Changelog

Added

  • Add fallback redirection when getting a webfinger query LOCAL_DOMAIN@LOCAL_DOMAIN (ClearlyClaire)

Changed

  • Change OpenGraph-based embeds to allow fullscreen (ClearlyClaire)
  • Change AccessTokensVacuum to also delete expired tokens (ClearlyClaire)
  • Change profile updates to be sent to recently-mentioned servers (ClearlyClaire)
  • Change automatic post deletion thresholds and load detection (ClearlyClaire)
  • Change /api/v1/statuses/:id/history to always return at least one item (ClearlyClaire)
  • Change auto-linking to allow carets in URL query params (renchap)

Removed

Fixed

Security

  • Add finer permission requirements for managing webhooks (ClearlyClaire)
  • Update dependencies
  • Add hardening headers for user-uploaded files (ClearlyClaire)
  • Fix verified links possibly hiding important parts of the URL (CVE-2023-36462)
  • Fix timeout handling of outbound HTTP requests (CVE-2023-36461)
  • Fix arbitrary file creation through media processing (CVE-2023-36460)
  • Fix possible XSS in preview cards (CVE-2023-36459)

Upgrade notes

To get the code for v4.1.3, use git fetch && git checkout v4.1.3.

As always, make sure you have backups of the database before performing any upgrades. If you are using docker-compose, this is how a backup command might look: docker exec mastodon_db_1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump

Dependencies

Apart from ImageMagick, external dependencies have not changed compared to v4.1.2, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 2.7 to 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 7.x
  • Redis: 4 or newer
  • Node: >= 14, < 18
  • ImageMagick: 6.9.7-7 or newer

If your uploaded images are broken after the upgrade, it means your installed ImageMagick version is older than the new minimum version (6.9.7-7), for example if you are running Ubuntu 18.04. If this happens, you can find more informations and ways to fix it on this page.

Update steps

The following instructions are for updating from 4.1.2.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.

Non-Docker only:

  1. Install dependencies: bundle install and yarn install

Both Docker and non-Docker:

ℹ️ The recommended configuration for reverse proxies has been updated. Unlike updating Mastodon itself, this is not urgent, but hardening. The change is about setting Content-Security-Policy: default-src 'none'; form-action 'none' and X-Content-Type-Options: nosniff on assets. Check dist/nginx.conf for more information, and the documentation if you are proxying external object storage.

  1. Restart all Mastodon processes