Releases: freedomofpress/dangerzone
Dangerzone 0.8.0
This release includes various new features, stability improvements and security fixes. If you are on a Mac or PC you should additionally ensure that the Docker Desktop application is up to date.
In addition to the changes specific to this release, we want to note that you can now use Dangerzone on the Tails live system. You can read the announcement on their blog, or read the documentation about it.
On the subject of blogs, we have recently started one where we post release announcements and other technical articles about the Dangerzone project.
For this release, the highlights are:
-
The second phase of the conversion (pixels to PDF) now happens on the host.
Instead of first grabbing all of the pixel data from the first container, storing them on disk, and then reconstructing the PDF on a second container, Dangerzone now immediately reconstructs the PDF on the host, while the doc to pixels conversion is still running on the first container. This architectural change removes a class of problems we had in the past:
- Issues with temporary directories and their permissions.
- Out of space issues caused by documents with lots of pages (mainly impacted Qubes users).
- SELinux issues due to relabeling mounted files.
- Mounting files to Docker containers, prevented by security policies in Windows/macOS.
- Not being able to run with user ID other than 1000.
If at some point in time you were affected by the above, we suggest giving this version a shot. The sanitization is no less safe, since the boundaries between the sandbox and the host are still respected (#625).
-
Installation and execution errors are now caught and displayed in the interface, which should make debugging easier (#193)
-
The macOS entitlements have been revisited, following our security audit. We have now removed unneeded privileges (#638)
-
We now always use our own seccomp policy as a default (#908)
Platform support updates
-
This release is the last one that will support Ubuntu Focal (20.04).
Ubuntu Focal is nearing its end of life date, due in April 2nd, 2025 (#965). We urge you to update to a newer Ubuntu version in order to get security updates.
-
Add support for Fedora 41 (#947)
-
Add support for Ubuntu 24.10 (#954)
-
Drop support for Ubuntu Mantic (23.10), since it's end-of-life (#977)
Community contributions
For this release, we had some help from community members. We want to thank:
- @bnewc, who improved the interface, effectively preventing our users from using illegal characters in the output filename (#362)
- @amnak613, who allowed us to report some stray conversion errors (#776)
- @jkarasti, who helped us change the signature mechanism from SHA1 to SHA256 for our Windows installer (#931)
On a final note, the container image embedded in the Debian packages differs from the one attached to the release. You can have a look at issue #988 for more details.
As usual, for a full list of changes, see our changelog.
Dangerzone 0.7.1
This release includes a patch for Docker Desktop, and security updates. If you are on a Mac or PC you should additionally ensure that the Docker Desktop application is up to date.
The two changes in this release are:
-
Make Dangerzone work with fresh Docker Desktop installations
This release mainly addresses an issue with new Docker Desktop installations on Windows and Mac OS. Users who have done a fresh installation of Docker Desktop4.30.0
or greater (released on August 29th), have reported that Dangerzone fails conversions with the following error message:Unknown Error Code '125'
This error message is attributed to a new way that Docker Desktop stores and references container images, which broke some Dangerzone expectations. With this release, we enable Dangerzone to work both with older Docker Deskop installations and newer ones.
-
Update the software in our container image
As in every release, we rebuild our container image to get the latest security updates.
For a full list of the changes, see our changelog.
Dangerzone 0.7.0
This release includes various new features, stability improvements, and security fixes. If you are on a Mac or PC you should additionally ensure that the Docker Desktop application is up to date.
The highlights are:
-
Improved our document processing sandbox with gVisor
Our original sandbox where we processed untrusted documents relied on the container runtimes that Docker and Podman provided. These runtimes are battle-tested, and Dangerzone further restricted the spawned containers with as few privileges as possible. Still, the spawned container had direct access to the Linux kernel, which has a large, albeit not easily exploitable, attack surface.Starting on 0.7.0, we use gVisor as a sandbox between the conversion process and user's system, Linux kernel included. gVisor is written in a memory-safe language (Go), has a significantly smaller feature set than the Linux kernel, and reinterprets every system call that the container makes in a safer way. We believe that this integration empowers our users across all platforms (Windows, macOS, and Linux) to sanitize untrusted documents with even more confidence. We want to thank @EtiennePerot, an engineer on the gVisor project, who was the driving force behind this integration (#590).
-
Drag-and-drop interface
Dangerzone will undergo UX improvements in the next releases, in order to make it easier to work with and enable some workflows that were previously not possible. A first taste of these improvements is a new drag-and-drop interface, which allows users to simply select files from their file manager and drag them to Dangerzone in order to convert them (#752). -
Dropped support for Fedora 38, which is EOL
-
Community contributions:
For a full list of the changes, see our changelog.
Dangerzone 0.6.1
This release includes various fixes and stability improvements. If you are on a Mac or PC, please also update Docker Desktop to the latest version to get the latest security fixes.
The highlights for this release are:
- Handle timeout errors (
"Timeout after 3 seconds"
) more gracefully
Several people have encountered timeout errors when converting documents. We have not pinpointed yet the exact reason for these timeouts, but we know they happen once the conversion has finished, either successfully or unsuccessfully, and they are informational in nature. In this release, we improve our handling of termination delays, and users should not experience these timeout errors again. - Support for Fedora 40 and Ubuntu 24.04 (Linux)
Fedora 40 and Ubuntu 24.04 were released recently, so we added support for these platforms. - Sign our release assets
In addition to platform-specific signing procedures, our release assets are now also signed with the Dangerzone signing key (DE28 AB24 1FA4 8260 FAC9 B8BA A7C9 B385 2260 4281
). By "release assets", we refer to our installers for Windows and macOS, and our container image, that you see at the bottom of this page. We also provide a guide that explains how to verify these assets on your own. - Community contributions
- We want to thank our first-time contributor, @naglis, who fixed several issues, both user-facing and developer-facing. Notably, Dangerzone's icon and name should now be shown properly on all supported Linux platforms (#402). Also, Linux users can now open multiple documents at once, when they right-click on them, and then click on "Open with" -> "Dangerzone" (#797).
- First-time contributor @maltfield notified us that Dangerzone did not work on macOS releases prior to Ventura (13) (#471). This issue should be resolved with this release.
- Finally, special thanks to our two other first-time contributors, @stepnem and @iArchitSharma, who offered some development improvements (#573, #784).
On a final note, we'd like to inform our Fedora users that Dangerzone has stopped working since May 5th. We have contacted the upstream Python3 maintainers, and we are monitoring the situation.
For a full list of the changes, see our changelog.
Dangerzone 0.6.0
This release includes various new features, stability improvements, and security fixes. If you are on a Mac or PC you should additionally ensure that the Docker Desktop application is up to date.
The highlights are:
-
Replace document rendering tools with PyMuPDF
Dangerzone internally used multiple standalone programs to aid the various aspects of transforming a document into pixels. However, these started presenting integration challenges that could cause slowness or space issues. By using the PyMuPDF module instead, the conversion-related code becomes much simpler and thus, less error-prone. Unexpectedly, this change opened the door to many future technical improvements to Dangerzone summarized in this diagram. This may result in minor differences in the produced PDFs, particularly in fonts. We have documented some of these differences visually here. -
New file extension support: EPUB, SVG and other image formats
Including PyMuPDF (described above) in Dangerzone enabled us to add these new file formats at no extra effort. Additional formats like PSD or MOBI will be added in the future when all the different supported platforms have a version of PyMuPDF recent enough to support these other file formats. -
Removal of timeouts
Some documents would timeout after a certain time (depending on the file size and number of pages) if the conversion did not complete until then. Timeouts existed due to to some document conversion commands indefinitely hanging. While it is still true that some documents may take a very long time, having the document stop after an arbitrary amount of time does not look like the proper solution. So we have chosen to remove timeouts entirely, for now. We may revisit this idea in the future, better integrating it into the user interface. -
Support for Fedora 39 (Linux)
The unavailability of a core component of Dangerzone (PySide2/PySide6) made it impossible to release our software when Fedora 39 became officially available (#606). We are pleased to announce that we managed to overcome this challenge by packaging this very component and distributing it from our software repositories.Special thanks go to @sudwhiwdh, who informed us once Fedora 39 was out, offered some style fixes, and beta-tested an early Dangerzone release on Fedora 39.
-
New license: AGPL v3
Dangerzone was originally licensed under the MIT License until version 0.5.1. The PyMuPDF project though, which we are including in this release thanks to its significant improvements to Dangerzone, is licensed under AGPLv3. In order to comply with the license's terms, we have decided to switch the Dangerzone license to AGPLv3 as well. This change should affect only entities who are offering Dangerzone commercially, as part of a closed-source offering. -
Community contributions
Two cheers for first-time contributors @EtiennePerot and @prateekj117, who offered some fixes in our build system (#721, #671), and one more cheer for recurring contributor @OctopusET, who added support for converting HWP documents on macOS systems with Apple Silicon chip (#498).
On a final note, we'd like to inform users of the Dangerzone CLI on Windows that the latest Docker Desktop release (v4.27 as of writing this) has a bug that affects Dangerzone. If you use the Dangerzone CLI, you may see that it always attempts to re-install the container image. This bug is benign and will be fixed in Docker Desktop v4.28, but there's an official workaround if it affects your workflow. Please note that users of the regular Dangerzone GUI are not affected by this issue.
For a full list of the changes, see our changelog.
Edited on March 19, 2024: We have rebuilt the Dangerzone MSI for Windows using WiX toolset v3.14. Originally, we had built it with v3.11, but we wanted to update to the latest version for good measure. The Dangerzone application has remained exactly the same, but the contents of the MSI file have slightly changed, due to the new WiX toolset. As a result, we have changed the name from Dangerzone-0.6.0.msi
to Dangerzone-0.6.0-1.msi
.
Dangerzone 0.5.1
This is a security release that mainly addresses CVE-2023-43115. Our security advisory follows:
In Dangerzone, a security vulnerability was detected in the quarantined environment where documents are opened. Vulnerabilities like this are expected and do not compromise the security of Dangerzone. However, in combination with another more serious vulnerability (also called container escape), a malicious document may be able to breach the security of Dangerzone. We are not aware of any container escapes that affect Dangerzone. To reduce that risk, you are strongly advised to update Dangerzone to the latest version.
Summary
A security vulnerability in GhostScript (CVE-2023-43115) affects the contained environment where the document rendering takes place. If one attempts to convert a malicious file with an embedded PostScript image, arbitrary code may run within that environment. Such files look like regular Office documents, which means that you cannot avoid a specific extension. Other programs that open Office documents, such as LibreOffice, are also affected, unless the system has been upgraded in the meantime.
How does this impact me?
The expectation is that malicious code will run in a container without Internet access, meaning that it won't be able to infect the rest of the system.
What do I need to do?
You are strongly advised to update your Dangerzone installation to 0.5.1 as soon as possible.
Please note that we have recently enabled security scans for our software, and we aim to alert people even sooner about vulnerabilities like these.
On other news, this release brings some Qubes related fixes (see our security advisory), and an improvement in the update check UI, courtesy of our second-time contributor @garrettr.
For a full list of the changes, see our changelog.
Dangerzone 0.5.0
This release includes support for new platforms, stability improvements, and some fixes. The highlights are:
- Beta Qubes OS Support
The majority of this release has been improvements to the integration of Dangerzone in Qubes OS, moving from alpha support to beta. We added instructions on how to install it, caught the majority of the potential errors, and added timeouts and progress information. Testers should be aware that some issues still remain, which will be fixed on the road to stable support. The main issues are: - Fixed package upgrades in Fedora
Fedora users can now safely install new Dangerzone versions (#514) - Fixed a bug that could potentially lead to excluding the last page of the sanitized document
This bug was introduced in version 0.4.1. We are not aware of any user who is affected, but we do know that it does not have any security implications. - Reduced download size
We removed ~300MiB from our container image (and thus the application download) by using the fast variant of the Tesseract OCR (optical character recognition) language models (#545) - 1 contribution from a new contributor, @garrettr
Fixed dark mode on macOS where some texts in the user interface were black instead of white
For a full list of the changes, see our changelog.
Edited on December 5, 2023: When creating the release, we erroneously uploaded a corrupted container image. We have since retrieved the correct one from the Fedora RPM, and replaced the offending one:
SHA256 sum | |
---|---|
Corrupted | 7b9163626a2fcfc577d38e561ec0b4f493fecaf2fa4f7373520eb058cb26c921 |
Correct | 25a1b05e8f4b2a1cb6ba9355a28ecd2cf0f44d85bd75cdbee79cdf33ff800cc2 |
This change affects only our CI jobs, and not the Windows / macOS / Linux artifacts you download from here or our APT / YUM repos (https://packages.freedom.press).
Dangerzone 0.4.2
This release includes various new features, stability improvements, and security fixes. The highlights are:
- An opt-in update notification mechanism for Windows and MacOS users.
This allows users to get notified for new updates when they open the Dangerzone application. For more info, we have a page where we explain this mechanism in detail. - Fix for security vulnerability CVE-2023-39342
This vulnerability affects the messages that users of thedangerzone-cli
see in their terminal. This is a low severity CVE that does not lead to any integrity or confidentiality loss, but all users are encouraged to upgrade. - Alpha support for native sanitization on Qubes OS
Qubes OS users that can follow our build instructions can give Dangerzone a spin and use disposable VMs to sanitize their files, instead of containers. If you are an early tester, feel free to write about your experience in our GitHub discussions page. - 4 contributions from 2 new contributors, @OctopusET and @keywordnew
We are especially excited for the support for HWP/HWPX files, which is a file format popular in South Korea, and unfortunately a common target of malware attacks (note: support for these files is not available on Qubes OS or MacOS with Apple Silicon chip yet).
For a full list of the changes, see our changelog.
Dangerzone 0.4.1
This release is the first that is performed entirely by Freedom of the Press Foundation. We have new code signing certificates for Windows and MacOS installers, and new installation instructions for Linux users.
(You can skip this section if you are a MacOS/Windows user)
IMPORTANT: If you are an existing Linux user, please follow our new installation instructions to upgrade to the new Dangerzone version. The new installations instructions will use https://packages.freedom.press for the Linux repos. Then, you can remove the existing PackageCloud repo as follows:
For Ubuntu/Debian:
sudo rm /etc/apt/sources.list.d/firstlookmedia_code.list
For Fedora:
sudo rm /etc/yum.repos.d/firstlookmedia_code.repo
This release also brings stability and performance improvements. Highlights include:
- Native application for MacOS Apple Silicon users
- Fixes for timeout issues on large files
- Performance boost when converting large files
- Improved reliability when converting files with atypical MIME types or permissions.
For a full list of the changes, see our changelog.
Dangerzone 0.4.0
- Feature: Support bulk conversion to safe PDFs (issue #77)
- Feature: Option to archive unsafe directories (issue #255)
- Feature: Support python 3.10
- Feature: When quitting while still converting, confirm if user is sure
- Platform support: Re-add Fedora 37 support
- Platform support: Add Debian Bookworm (12) support (issue #172)
- Platform support: Reinstate Ubuntu Focal support (issue #206)
- Platform support: Add Ubuntu 22.10 "Kinetic Kudu" support (issue #265)
- Bug fix: Fix unit tests on Windows
- Bug fix: Do not hardcode "docker" in help messages, now that Podman is also used (issue #122)
- Bug fix: Failed execution no longer produces an empty "safe" documents (issue #214)
- Bug fix: Malfunctioning "New window" logic was replaced with multi-doc support (issue #204)
- Bug fix: re-adds support for 'open with Dangerzone' from finder on macOS (issue #268)
- Bug fix: (macOS) quit Dangerzone when main window is closed (issue #271)