Whonix Stable Release

From Whonix

About this Whonix Stable Release Page
Support Status stable
Difficulty easy
Contributor torjunkie [archive]
Support Support

Whonix ™ 15 Changelog[edit]

Whonix ™ 15 was released on July 1, 2019. [1] Significantly, Whonix ™ 15 is based on the Debian buster (Debian 10) distribution which was officially released on July 6, 2019 instead of Debian stretch (Debian 9). The buster release has nearly 60,000 packages and over 62 per cent of them were updated [2] [3] -- see the official Debian 10 release notes [archive] to learn more.

All Platforms[edit]

Bug Fixes[edit]

  • Fixed file saving issues in scurl wrappers. [4] [5] [6]
  • Fixed the partial truncation of text in Whonix Connection Wizard. [7]
  • Installed cryptsetup by default so errors do not appear when using a GUI and interacting with encrypted containers. [8] [9] [10]


  • Ported the build script to cowbuilder; build packages in chroot and use mmdebstrap for better security. [11]


  • Modified whonixcheck so it suggests to start networking / onion-grater if it is not running. [12]
  • Improved the /usr/share/sdwdate/unit_test [13] [14]
  • Improved the sdwdate message Tor consensus message. [15]
  • Confirmed the sanity of systemd DNS after porting to Debian buster. [16]
  • Established sane built-in defaults even if configuration files are non-existing. [17] [18]
  • Updated the onion list time sources for sdwdate so that offline and unwanted onions were removed. [19]

Improved Functionality and Usability[edit]

Security Enhancements[edit]


Bug Fixes[edit]

  • Corrected a VirtualBox error related to guest utils not starting. [39] [40]


  • Significantly reduced the size of Non-Qubes-Whonix images using zerofree. [41]

Improved Functionality and Usability[edit]

Security Enhancements[edit]

Qubes-Whonix ™[edit]

Bug Fixes[edit]

  • Correctly configured Qubes-Whonix ™ Xfce default start menu entries (whitelisted appmenus). [58]


  • Created Qubes-Whonix 15 template configuration files. [59] [60]
  • Confirmed the Whonix-15-gateway template builds. [61]

Improved Functionality and Usability[edit]

  • Simplified instructions for VM kernel [archive] in Qubes-Whonix ™ by installing the same recommended Qubes packages as Qubes Debian packages. [62] [63]
  • In DisposableVMs, tb-updater / tb-starter was modified to no longer copy Tor Browser to the user home directory at first boot -- /var/cache/tb-binary is now directly used to improve startup performance. [64] [65]

Security Enhancements[edit]

  • Confirmed Qubes-Whonix ™ TemplateMVs cannot upgrade in timesync-fail-closed mode. [66] [67]

Whonix ™ 15 Updates[edit]

As Whonix ™ is now a rolling distribution, users will benefit from regular small security and usability improvements, features and bug fixes as they enter the Whonix ™ stable repository. Those will be announced here.

Info The majority of the enhancements below also also apply to Qubes-Whonix ™. Exceptions include:

Many of these will be possible once the use of in-VM kernels is simplified and promoted in Qubes OS. [69] [70]

All Platforms[edit]

In 2019, point releases were announced on 10 September, 22 and 23 November. [71] [72] [73] [74] In 2020, point releases were announced on 16 and 27 February, 19 and 21 March, 29 May, 10 and 18 June, 27 August, 7 and 17 and 30 September, and 17 December. [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] In 2021, point releases were announced on 17, 19, 22 and 27 April, 9 and 12 July. [88] [89] [90] [91] [92] [93] [94]


Bug Fixes[edit]

  • anon-connection-wizard [archive]:
    • Updated usr/share/anon-connection-wizard/bridges_default from ~/tor-browser/Browser/TorBrowser/Data/Tor/torrc. [104]
    • Fixed error handling. [105]
    • Minor non-Whonix reliability fix. [106]
    • Modified wording to be similar to the newer tor-launcher. [107]
    • Partial fix for meek lite in Whonix ™. [108] [109]
    • Added /usr/lib/anon-gw-anonymizer-config/edit-etc-resolv-conf as another part of fixing meek lite in Whonix ™. [110] [111]
    • Fixed anon-connection-wizard truncated text.
    • Fixed a bug in Whonix where anon-connection-wizard added %include /etc/torrc.d/95_whonix.conf to /etc/tor/torrc configuration file even though Whonix was already ported to %include /etc/torrc.d/
    • Fixed some “unknown connection tag” messages in Whonix-Gateway.
  • anon-gw-anonymizer-config [archive]:
    • Reload apparmor profiles after installation to make the package work -- a reboot is no longer required. [112]
    • Partial meek lite fix in Whonix ™ -- added /usr/lib/anon-gw-anonymizer-config/edit-etc-resolv-conf. [113] [114]
  • /usr/lib/anon-gw-anonymizer-config/torrc-d-cleaner: During package upgrades of anon-gw-anonymizer-config, avoid moving /etc/torrc.d/95_whonix.conf to /etc/torrc.d/backup/95_whonix.conf.dpkg-new. [122]
  • Fixed whonixcheck msgcollector permission errors.
  • Corrected authentication failures related to Anon Connection Wizard and Whonix repository. [123]
  • Fixed a tb-starter bug.
  • Resolved the apt-get error relating to Debian's suite value changing from 'testing' to 'stable'. [124]
  • Fixed starting pkexec-based applications from start menu, such as gdebi, synaptic and gparted. [125]
  • Added an encrypted swap file to the system to avoid Whonix-Gateway freezing (for systems with low RAM) during the apt-get dist-upgrade procedure. [126] [127] [128]
  • Worked around a NoScript race condition that permitted JavaScript on around 30 sites in Tor Browser when the Security Slider was set to Safest. [129] [130]
  • Prevented the keyboard-configuration debconf popup during apt-get dist-upgrade. [131] [132]
  • Implemented a command-not-found permission fix to avoid the WARNING:root:could not open file '/etc/apt/sources.list' message. [133] [134]
  • Fixed the bug parsing torrc.d twice.
  • Added x11-xserver-utils to kicksecure-desktop-environment-essential-gui to fix Xfce logout button. [135]
  • Disabled vm.unprivileged_userfaultfd=0 because it is currently broken. [136] [137] [138]
  • pkexec wrapper: fixed gdebi / synaptic but at the cost of checking for passwordless sudo /etc/suders /etc/sudoers.d exceptions. [139]
  • SecBrowser / i2pbrowser: no longer use firejail by default even if installed since it is not currently maintained by a contributor in Whonix / Kicksecure.
  • Fixed the i2pbrowser local browser homepage.
  • Fixed an onioncircuits error report related to user permissions. [140] [141]
  • Added an ENOUGH_RAM setting to swap-file-creator (1950 MB RAM default), so if there is enough RAM a swap file is not created (improving boot time). [142]
  • whonix-firewall [archive]:
    • Miscellenous improvements. [143]
    • Remove deprecated variable SOCKS_PORT_TBB_GPG. [144]
    • Whonix-Gateway firewall: implemented INTERNAL_OPEN_PORTS.
    • Deprecated support for SOCKS_PORT_CUSTOM=" 9230 " syntax; use INTERNAL_OPEN_PORTS+=" 9230 " instead.
    • Refactoring / code simplification. [145] [146]
  • Various fixes for i2p inside Whonix-Workstation: [147] [148]
    • Preparation for installation of i2p by default.
    • Do not autostart i2p.service if installed.
    • Do not autostart privoxy.service if installed.
    • Do not autostart i2p.service in Qubes TemplateVM.
    • Do not autostart privoxy.service in Qubes TemplateVM.
  • first-boot-skel: fixed /etc/skel/.bashrc to /home/user/.bashrc handling if the home folder is completely empty.
  • Disabled the Tor Browser security slider question at first start because it is broken [archive]. [149]
  • Disabled proc-hidepid due to pkexec issues.
  • Removed command-not-found from the default package installation, since it is not working out of the box which leads to confusing error messages. [150] [151]
  • Ensured consistent parsing of /usr/local/etc/name.d for applications by Whonix that also parse /etc/name.d. Parsing /rw/config/name.d is still possible for compatibility but will be deprecated.
  • Fixed adduser -- no longer writing to /nonexistent.
  • Set the environment variable QMLSCENE_DEVICE=softwarecontext (in VirtualBox, and also after upgrades in KVM) to workaround a VM-specific Monero bug [archive].
  • Fixed security-misc to allow group sudo and console to use consoles.
  • Implemented a sdwdate python 3.7 fix if the host timezone is set to something other than UTC.
  • Fixed a false positive live mode detection in live mode indicator.
  • Fixed the Networks VMs are restarting themselves without valid reason [archive] bug in Qubes-Whonix.
  • Fixed the qvm-kill'ing a DispVM leaves a spurious entry in qubes.xml [archive] bug in Qubes-Whonix.
  • Allow dummy-dependency to fulfill the dependency of qubes-core-agent-passwordless-root in Qubes-Whonix.
  • Attempted to fix the Qubes-Whonix bug: Setting up anon-base-files shows machine-id prompt followed by "OMINOUS WARNING" [archive].
  • Fixed update-torbrowser not seeing version 10.0.6 due to a new, upstream version format. [152]
  • Tor Browser Starter by Whonix Developers: fixed opening URLs which contain question marks and added more folder permission checks.
  • Qubes-Whonix:
    • Enabled a workaround for a Qubes (Xen) Monero bug - “Automatic fallback to softwarecontext renderer”.
    • sdwdate-gui: fixed an unwanted automatic restart of Qubes-Whonix-Workstation after shutdown and no longer qrexec notify self on shutdown.
    • Fixed a msgcollector sudoers issue when qubes-core-agent-passwordless-root package was removed.
    • vm-config-dist is now installed in Qubes-Whonix ™ so the QMLSCENE_DEVICE=softwarecontext workaround is available. [153]
  • security-misc: no longer unconditionally abort pam for user accounts with locked passwords.
  • ro-mode-init: fixed the non-functional Live Mode Indicator. [154]
  • Fixed Thunderbird connectivity out of the box with a torbirdy replacement [archive].
  • qtox is no longer installed by default. [155]
  • Disabled the following Tor stream isolation ports since the related applications in Whonix have been deprecated:
    • Mixmaster update (9120)
    • Mixmaster (9121)
    • Privoxy (9112)
    • Polipo (9113)
    • TorChat (9119)
    • Tor Browser Updater by Whonix Developers gpg key download (9116) [156]
    • Tor Messenger (9153)
  • Installation no longer requires auditd by default. [157] [158]
  • kicksecure-meta-packages [archive]: Fixed missing ristretto thumbnails and popup by installing tumbler by default -- this adds “Depends: tumbler” to whonix-workstation-packages-recommended-gui. [159] [160] [161]


Contentious Changes[edit]

  • Tor Browser Updater (by Whonix developers): reduced old versions being kept to 0 in /var/cache/tb-binary.

Developer Notes[edit]

  • Added anon-base-files to whonix-host-xfce-kvm-freedom.
  • Added hardened-malloc to hardened-packages-dependencies-cli.
  • Removed unneeded dependency live-config-systemd.
  • anon-base-files:
    • Do not create a home folder during postinst.
    • Leave user user creation to Qubes.
    • Fixed and actually use --no-create-home.
  • No longer depend on logrotate.
  • Whonix Development News [archive]
  • Significant progress regarding Whonix-Host development.
  • Whonix is slowing migrating from GitHub to GitLab. [167] [168]
  • sdwdate:
  • repository-dist [archive]: The same GPG signing key is now used with new e-mail addresses. [169]


  • Multiple wiki improvements/enhancements:

Improved Functionality and Usability[edit]

  • Disabled whonixcheck “Connecting to Tor…” and “Connected to Tor.” messages. [174]
  • Added support for OnionShare “bundled Tor”.
  • Packaged str_replace for literal search and replace functions.
  • Display the pulseaudio plugin by default.
  • Added arc-theme, gnome-themes-extra, gnome-themes-extra-data and gtk2-engines-murrine for better visual presentation and a more modern look.
  • Set SUDO_EDITOR="mousepad" if: mousepad is installed and the environment variable SUDO_EDITOR has not already been set.
  • Upgraded Tor Browser to version 10 and later releases in this series.
    • Tor Browser 10.0.16 is now installed by default. [175]
  • Upgraded Tor to version,, and then again to version in a later release. [176] [177] [178]
  • Full /etc/torrc.d/*.conf configuration snippet drop-in folder support. [179]
  • anon-verify:
    • Report extraneous Tor configuration files (files that do not end with file extension .conf).
    • Ignore file names starting with dot (.) [180]
    • Ignore subfolders when using %include /path/to/folder [181]
    • Fix checking of all files in torrc.d folders for issues.
  • The Whonix build script now optionally supports installing packages from the Whonix remote repository, rather than building packages locally. [182]
  • Simplified the default sudo lecture (presenting text upon first run) so it only shows the default password for Whonix. [183] [184] [185]
  • Removed the deprecated obfs3 bridges option from Anon Connection Wizard.
  • Enabled serial console functionality in VirtualBox, see: Serial Console. [186] [187]
  • From the VirtualBox host, simplify the sending of SysRq commands to VirtualBox VMs using the vboxmanage command. [188]
  • Work towards Whonix Host operating system [archive].
  • Install gvfs by default: [189] [190] [191] [192] [193]
    • Fixed access to LUKS encrypted USB drive with Thunar.
    • Added gvfs to kicksecure-desktop-applications-xfce.
  • Renamed package non-qubes-vm-audio to non-qubes-audio.
  • Onion services authentication: [194]
  • No longer install serial-console-enable [archive] by default due to issues [archive]. [195]
  • corridor -- Tor traffic whitelisting gateway and leak tester -- merged upstream changes and improved Debian host support. [196] [197]
  • Added usability and output enhancements to grub-live, and improved the live mode indicator systray. [198] [199] [200]
  • Added packaging and other improvements to Hardened Malloc [201]
  • onion-grater:
    • Added new command line tools onion-grater-add / onion-grater-remove which will allow to simplify instructions that require onion-grater configuration changes.
    • Removed Whonix specificity from onion-grater. [202]
    • Simplifed and updated 40_bitcoind.yml so it works with bitcoind v0.21 [203] [204]
  • Added a sudo askpass wrapper for automated testing. [205] [206]
  • Added packaging and other enhancements for kloak. [207]
  • Refactored Qubes-Whonix network proxy setup. [208]
  • Created debug-misc [archive]: opt-in package which enables miscellaneous debug settings for easier debugging. [209]
  • usability-misc [archive]:
  • Monero:
    • Installed Monero GUI [archive] by default in Whonix-Workstation.
    • Upgraded the monero-gui package to version [212]
  • Added links to search engines to the Whonix landing page in Tor Browser.
  • Split most of /usr/share/tor/tor-service-defaults-torrc into /etc/torrc.d drop-in configuration snippets.
  • Hide verbose output messages during boot to improve startup speed (logs are still available in the journal).
  • Changed the desktop background images to better distinguish Whonix-Gateway from Whonix-Workstation and vice versa.
  • Upgraded packages by [archive]
  • Set hostname to localhost for VM builds. [213]
  • Disable DNSCrypt by default for now due to issues. [214]
  • The Debian stable-updates repository is now enabled by default. [215]
  • Merged python-guimessages into helper-scripts.
  • Updated the default bridges in anon-connection-wizard from The Tor Project [216] and removed ‘-max 3’ from the snowflake command.
  • Set ClientOnionAuthDir in /var/lib/tor/authdir.
  • Permit Tor Browser to show improved error pages for onion service errors.
  • tb-updater [archive]:
    • Updated alpha tbb_hardcoded_version=“10.5a14” [217]
    • Updated tbb_hardcoded_version=“10.0.16” [218]
    • Depends: replaced bsdtar with libarchive-tools [219] [220]
  • Whonix-Workstation Firewall: added a configuration option firewall_allow_udp=true to allow outgoing UDP.
  • binaries-freedom [archive]: upgraded the Bitcoin Electrum wallet to version 4.1.2. [221]
  • anon-apps-config: Skip setting timezone to UTC if file /etc/noutc or /usr/local/etc/noutc exists.
  • Added Tor Browser Downloader configuration options:
    • --onion to optionally download over onions.
    • --alpha to optionally download alpha rather than stable versions.
  • whonixcheck now warns if dmesg contains “Bad RAM detected”.
  • security-misc: pam abort when attempting to login to root when root password is locked.
  • Added a DVD drive by default for Whonix-Custom-Workstation. [222] [223]
  • Created a new anon-log command line utility.
    • anon-log simplifies the manual dump Tor log command by only showing relevant log entries and no non-issues.
  • Created a new anon-consensus-delete command line utility.
  • Created a constrained system resources program starter wrapper [archive] which is useful to run applications with limited system resources.
  • Implemented an apt-get-reset command for improved usability. [225]
  • whonix-welcome-page: added a link to [archive]
  • genmkfile [archive]:
    • Changed the output of genmkfile deb-chl-bumpup-manual. [226]
  • helper-scripts [archive]:
    • Added apt-key-install. [227] This is a utility to install APT signing key to the system Input file. It can support GPG keys in either ASCII-armored or binary format. [228]
  • Added gpg-dearmor. [229] This is a wrapper to convert to GPG ASCII-armored format binary format. [230].
  • security-misc [archive]: Implemented systemd RemainAfterExit=yes for better usability. [231] [232]
  • systemcheck [archive]: Depends: replaced bsdtar with libarchive-tools. [233] [234]
  • uwt [archive]:
    • Now guess and tell the user which package needs installing. [235] [236]
    • Improved output. [237] [238]

Kernel and Related Hardening[edit]

Significant kernel [archive] and other security hardening has been implemented; numerous enhancements have been made to security-misc [archive]: [239]

  • Enabled kernel panic on kernel oops after boot, see: set oops=panic kernel parameter or kernel.panic_on_oops=1 sysctl for better security [archive].
  • Enabled usergroups, so group permissions are the same as user permissions. [240]
  • Removed read, write and execute access for others for all users who have home folders under folder /home. [241] [242]
  • Group sudo membership is required to use su.
  • Passwordless, recovery / emergency mode has been implemented.
  • Lock user accounts with pam_tally2 after five failed authentication attempts are detected. [243]
  • Fix pam_tally2 check when read-only disk boots without ro-mode-init or grub-live.
  • The thunderbolt and firewire modules were blacklisted, since they can be used for Direct Memory Access (DMA) attacks.
  • Every module must now be signed before being loaded; any module that is unsigned or signed with an invalid key cannot be loaded. [244]
  • Uncommon network protocols were blacklisted: these are rarely used and may have unknown vulnerabilities. [245]
  • Enabled IOMMU [archive].
  • The SysRq key is restricted to only allow shutdowns/reboots.
  • Restrict [archive] the SysRq key so it can only be used for shutdowns and the Secure Attention Key.
  • A systemd service mounts /proc with hidepid=2 at boot, thereby preventing users from seeing each other’s processes.
  • A systemd service clears on boot as these contain kernel symbols that could be useful to an attacker. [246]
  • Remove after a kernel upgrade.
  • remove-system-map: use shred instead of rm.
  • The kernel logs are restricted to root only.
  • The BPF JIT compiler is restricted to the root user and is hardened.
  • The ptrace system call is restricted to the root user only.
  • Added user root to group sudo. This is necessary so it is still possible to login as a user in a virtual console. [247]
  • Kernel symbols in /proc/kallsyms are hidden. This prevents malware from reading and using them to learn more about system vulnerabilities that can be attacked.
  • Kexec is disabled because it can be used for live patching of the running kernel.
  • Bluetooth is blacklisted to reduce the attack surface.
  • Added experimental SUID Disabling and Permission Hardening: [248] [249]
    • A systemd service removes SUID / GUID from non-essential binaries as these are often used in privilege escalation attacks. [250]
  • Enables mitigations for the L1TF (L1 Terminal Fault) vulnerability. [251]
  • Unconditionally enable all kernel patches for CPU bugs (spectre, meltdown, L1TF and so on) -- this might reduce performance: [252] [253]
    • spectre_v2=on
    • spec_store_bypass_disable=on
    • tsx=off
    • tsx_async_abort=full,nosmt
  • The MSR kernel module is blacklisted to prevent CPU MSRs from being abused to write to arbitrary memory.
  • Vsyscalls are disabled as they are obsolete, are at fixed addresses and are a target for ROP.
  • Page allocator freelist randomization is enabled.
  • The vivid kernel module is blacklisted as it is only required for testing and has been the cause of multiple vulnerabilities.
  • An initramfs hook sets the sysctl values in /etc/sysctl.conf and /etc/sysctl.d before init is executed so sysctl hardening is enabled as early as possible.
  • The kernel panics on oopses to prevent it from continuing to run a flawed process and to deter brute forcing.
  • Improve entropy collection: [254] [255]
    • Load jitterentropy_rng kernel module.
    • Distrust the CPU for initial entropy at boot as it is not possible to audit, may contain weaknesses or a backdoor.
    • Disable trusting RDRAND.
    • random.trust_cpu=off
  • Experimental: remount /home, /tmp, /dev/shm and /run with nosuid,nodev (default) and noexec (opt-in). To disable this, see footnote. [256] [257] [258]
  • Fix xfce4-power-manager xfpm-power-backlight-helper pkexec lxsudo popup [archive].
  • Do show lxqt-sudo password prompt if there is a sudoers exception.
  • Improved pkexec wrapper logging.
  • Installation fix in the case when user user does not exist.
  • Better output if trying to login with a non-existing user.
  • Add user user to group console in Whonix and Kicksecure.
  • Lock user accounts after 50 rather than 100 failed login attempts [archive].
  • Disable the busmaster bit on all PCI bridges during very early boot to avoid holes in IOMMU. [259] [260] [261]
  • Only allow symlinks to be followed when outside of a world-writable sticky directory, or when the owner of the symlink and follower match, or when the directory owner matches the symlink’s owner. Prevent hardlinks from being created by users that do not have read/write access to the source file. These prevent many TOCTOU races:
    • fs.protected_symlinks=1
    • fs.protected_hardlinks=1
  • Restrict loading TTY line disciplines to CAP_SYS_MODULE to prevent unprivileged attackers from loading vulnerable line disciplines with the TIOCSETD ioctl which has been used in exploits before. [262] [263] [264]
  • For a full list of changes, see: [archive]


  • Command line control of KVM VMs is now supported. [265]
  • The microphone is disabled by default.
  • Switched RNG to /dev/urandom.
  • pvspinlock is enabled.
  • Fixed Whonix-Gateway firewall desktop shortcuts.
  • No longer install pulseaudio by default on Whonix-Gateway.
  • Various apparmor fixes.
  • Created new apparmor profiles for bootclockrandomization, permission lockdown, and pam tally2 information.
  • Ensured future compatibility for apparmor-profile-everything.
  • Improved the output of remove
  • Fixed the KVM prepare_release script.
  • Fixed the GPU tag in libvirt XML.
  • Updated Tor Browser to version 9.0.1, then later versions (9.5).
  • Fixed Kicksecure KVM’s broken networking.
  • Moved to [266]
  • Other platforms build fix.
  • monero-gui can be uninstalled.
  • Fixed /etc/resolv.conf.
  • Enabled export QMLSCENE_DEVICE=softwarecontext for KVM.
  • Upgraded to the 2020 Whonix logo version.
  • Upgraded monero-gui.

Security Enhancements[edit]

Much stronger Linux user account isolation has been enforced in Non-Qubes-Whonix ™: [267]

Added vanguards [archive] to protect against guard discovery and related traffic analysis attacks: [274] [275] [276]

  • The daemon in Tor through and 0.4.2.x through does not verify that a rendezvous node is known before attempting to connect to it, which might make it easier for remote attackers to discover circuit information -- vanguards fixes this [archive].
  • Use vanguards from [archive]
  • Ensured vanguards do not start in a TemplateVM in Qubes-Whonix.

Eased installation of Linux Kernel Runtime Guard (LKRG) for users of Non-Qubes-Whonix ™, Kicksecure and Debian hosts -- sudo apt install lkrg: [277] [278]

  • Improves overall system security and is compatible with tirdad.
  • Hardens kernel security by killing whole classes of exploits, detecting exploits and performing Linux kernel runtime integrity checking.
  • Worked with LKRG upstream to fix LKRG VirtualBox host support.
  • Packaging enhancements were incorporated, so any standard Debian build tool can be used. [279]
  • Disabled the “System is clean!” message to avoid spamming dmesg and tty1.
  • Fixed [archive] compilation using DKMS on kernel upgrade by adding support for make variable KERNELRELEASE (DKMS sets it).
  • Auto-load LKRG after installation. [280]
  • Upgraded LKRG to the latest upstream version (version 0.8.1; although not yet installed by default).

sandbox-app-launcher [archive]:

  • Wait (blocking) for processes inside the sandbox to be killed. [281]
  • Replaced dynamic wrapper script creation with static script for code simplification. [282] [283]
  • Fixed wrapper script creation and access rights. [284]
  • Improved the command to create a wrapper script for more self-explanatory bash xtrace. [285]
  • Unduplicated/removed permission check code in function run_program because it is already performed in function setup_or_check which runs anyhow. [286]
  • Minor usability improvements: [287]
    • Downgraded messages if removal previously completed to INFO:. [288]
    • Show INFO: after setup was successfully completed.
    • ShowINFO: after remove was successfully completed.
  • Run all checks before start. [289] [290]
  • Indentation. [291]
  • Use sal_is_run_with_root instead of extra id calls. [292]
  • Reordering. [293]
  • Implemented more robust checks. [294]

Other security enhancements:


  • As at April 2021, the recommended VirtualBox version is 6.1.20.
    • Implemented a Whonix ™ compatibility fix for VirtualBox version 6.1.20. [309] [310]
    • Switched to SATA AHCI virtual storage controller hardware. [311] [312]
  • Upgraded VirtualBox guest additions to version 6.1.14.
  • vm-config-dist: run vbox-guest-installer [archive] when package virtualbox-guest-additions-iso [archive] is updated.
  • VirtualBox 6.1.12 upgrade: [313]
  • Reverted to vmsvga grapics controller settings due to issues [archive].
  • Increased [archive] Whonix-Gateway default RAM to 1280 MB. Otherwise, VirtualBox guest additions kernel modules fail to compile.
  • Current VirtualBox screen resolution situation:
    • Functional VirtualBox VM Window → View → Virtual Screen 1 → resize to resolution
    • Functional VirtualBox VM Window → View → Adjust Window Size
    • A workaround to improve this situation is still required.
    • Added xserver-xorg-video-vmware to kicksecure-desktop-environment-essential-gui because it is required by VirtualBox Graphics Controller VMSVGA for auto resize and resize through VirtualBox settings menu.
    • Again set the VirtualBox Graphics Controller to VMSVGA (equivalent to “VirtualBox → click a VM → Settings → Display → Graphics Controller → VMSVGA → OK”). [315] [316]
    • Increased Whonix VirtualBox Whonix-Gateway video RAM to 128 MB since the previous assignment of only 16 MB RAM can cause resize issues.
    • Updated VirtualBox and VirtualBox guest addition to 6.1.4. The VirtualBox guest addition has been further upgraded to 6.1.6 in a later Whonix release.
  • Added a workaround for the bug causing the VirtualBox screen resolution to be too small; the screen resolution is now 1920x1080 by default for all VMs [archive].
  • Configured three (instead of four) virtual CPU cores by default as this can improve stability. [317]
  • Enabled the Debian stable-updates repository by default. [318]
  • Consolidated Whonix packages. [319]
  • Installed fewer unneeded packages such as rsyslog (see footnote). [320]
  • Unbreak VirtualBox clearnet DNS settings when not using DNSCrypt.

Website Improvements[edit]

  • Wiki editing over onion.
  • Using Whonix ™ forums over onion.
  • Mostly fixed onion forum site redirects to clearnet. [321]
  • Implemented the Onion-Location [archive] header, which shows the “onion available” message to any Tor Browser user visiting the clearnet version of
  • Fixed a false Mediawiki message that identified Whonix ™ forum logins as insecure over onion (thereby offering a https connection to the onion URL). [322] [323]
  • Implemented Expect-CT security header for [324]
  • Fixed URL with no onion mirror. [325]
  • Reviewed [archive] results (no clean HSTS-Preload / DNSSEC). [326]
  • Researched DANE TLSA (DNS-based Authentication of Named Entities) for [327]
  • Whonix software signature verification documentation discussion: VirtualBox vs KVM - GPG / signify / codecrypt. [328]
  • Checked broken discourse email replies. [329]
  • Investigated uploaded images not presenting after creating a topic. [330]
  • Documented Testing the Whonix ™ server with test websites such as / / Mozilla Observatory / SSL Labs /
  • Improved documentation chapter Trusting the Whonix ™ Website.
  • Considered drop-www vs yes-www.
  • Considered Hide Server IP.
  • Set up a dedicated server for Kicksecure, with dedicated domain, homepage, wiki and soon forums. [331]


  1. Some fixes/changes were implemented in both Whonix ™ 14 and 15.
  2. [archive]
  3. More than 91 per cent of the source packages included in Debian 10 are reproducible (will build bit-for-bit identical binary packages).
  4. [archive]
  5. [archive]
  6. A few fixes were needed, such as:
    • Remove --remote-name and replace it with --remote-name-all.
    • Improve download wrappers and add --remote-header-name.
  7. [archive]
  8. [archive]
  9. For instance, an error would otherwise appear when using Xfce file manager with encrypted USBs.
  10. [archive]
  11. [archive]
  12. [archive]
  13. [archive]
  14. Specifically:
    • Make it simpler (to split urls into chunks of 3).
    • Generate average, total etc. for each pool.
    • Add curl command for the failures (timeouts).
  15. [archive]
  16. [archive]
  17. [archive]
  18. This was completed for whonix-gw-firewall, whonix-ws-firewall, whonixcheck, sdwdate, uwt, onion-grater (Control Port Filter Proxy), rads, open-link-confirmation, tb-starter, tb-updater and anon-ws-disable-stacked-tor.
  19. [archive]
  20. [archive]
  21. [archive]
  22. [archive]
  23. MAT2 only removes metadata from your files, it does not anonymise their content, nor can it handle watermarking, steganography, or any too custom metadata field/system.

  24. [archive]
  25. [archive]
  26. zulumount-gui [archive] is also installed.
  27. [archive]
  28. [archive]
  29. [archive]
  30. [archive]
  31. [archive]
  32. Primarily due to incompatibility with v3 onions.
  33. [archive]
  34. [archive]
  35. nyx is actually the same project; just the name has changed and the presentation is very similar.
  36. [archive]
  37. [archive]
  38. Using the Jitter RNG core, the rngd provides an entropy source that feeds into the Linux /dev/random device if its entropy runs low. ... Especially during boot time, when the entropy of Linux is low, the Jitter RNGd provides a source of sufficient entropy.

  39. [archive]
  40. [archive]
  41. [archive]
  42. [archive]
  43. [archive]
  44. [archive]
  45. [archive]
  46. This means Non-Qubes-Whonix users can boot into live-mode out of the box, without needing to install it.
  47. [archive]
  48. Such as the root password, Whonix ™ home page and so on.
  49. [archive]
  50. [archive]
  51. [archive]
  52. The floppy and optical settings were disabled in both the Gateway and Workstation, while the Gateway audio was also disabled.
  53. kloak is a privacy tool that makes keystroke biometrics less effective. This is accomplished by obfuscating the time intervals between key press and release events, which are typically used for identification. This project is experimental.

  54. [archive]
  55. See recent pull requests here [archive].
  56. [archive]
  57. The specific changes include:

    Kernel symbols in /proc/kallsyms are hidden to prevent malware from reading them and using them to learn more about what to attack on your system.

    Kexec is disabled as it can be used for live patching of the running kernel.

    The BPF JIT compiler is restricted to the root user and is hardened.

    ASLR effectiveness for mmap is increased.

    The ptrace system call is restricted to the root user only.

    The TCP/IP stack is hardened.

    This package makes some data spoofing attacks harder.

    SACK is disabled as it is commonly exploited and is rarely used.

    This package disables the merging of slabs of similar sizes to prevent an attacker from exploiting them.

    Sanity checks, redzoning, and memory poisoning are enabled.

    The kernel now panics on uncorrectable errors in ECC memory which could be exploited.

    Kernel Page Table Isolation is enabled to mitigate Meltdown and increase KASLR effectiveness.

    SMT is disabled as it can be used to exploit the MDS vulnerability.

    All mitigations for the MDS vulnerability are enabled.

    DCCP, SCTP, TIPC and RDS are blacklisted as they are rarely used and may have unknown vulnerabilities.

  58. [archive]
  59. [archive]
  60. [archive]
  61. [archive]
  62. [archive]
  63. [archive]
  64. [archive]
  65. Neither are backups of Tor Browser maintained anymore; previously three backups were stored.
  66. [archive]
  67. timesync-fail-closed means sdwdate did not succeed yet. Networking for all but Tor and sdwdate should still be locked in this scenario.
  68. [archive]
  69. [archive]
  70. [archive]
  71. [archive]
  72. [archive]
  73. [archive]
  74. [archive]
  75. [archive]
  76. [archive]
  77. [archive]
  78. [archive]
  79. [archive]
  80. [archive]
  81. [archive]
  82. [archive]
  83. [archive]
  84. [archive]
  85. [archive]
  86. [archive]
  87. [archive]
  88. [archive]
  89. [archive]
  90. [archive]
  91. [archive]
  92. [archive]
  93. [archive]
  94. [archive]
  95. [archive]
  96. [archive]
  97. [archive]
  98. [archive]
  99. More work is required such as multiple boot modes for better security: persistent user | live user | persistent admin | persistent superadmin | persistent recovery mode [archive] before it is installed by default.
  100. [archive]
  101. See: Dev/bash.
  102. [archive]
  103. [archive]
  104. [archive]
  105. [archive]
  106. [archive]
  107. [archive]
  108. See: censorship circumvention / Tor pluggable transports [archive].
  109. [archive]
  110. See: Whonix Gateway CLI- - meek-azure bridge "TLS_ERROR" [archive].
  111. [archive]
  112. [archive]
  113. [archive]
  114. See forum threads: censorship circumvention / Tor pluggable transports [archive] and Whonix Gateway CLI- - meek-azure bridge "TLS_ERROR" [archive].
  115. [archive]
  116. tumbler is a “Recommends:” of ristretto.
  117. Which image viewer to install by default? [archive]
  118. [archive]
  119. [archive]
  120. OnionShare Whonix integration development discussion [archive].
  121. [archive]
  122. [archive]
  123. [archive]
  124. [archive]
  125. [archive]
  126. This also creates a new encrypted swapfile with a random password on every boot.
  127. [archive]
  128. [archive]
  129. [archive]
  130. [archive]
  131. [archive]
  132. [archive]
  133. [archive]
  134. [archive]
  135. Whonix host operating system [archive]
  136. Kernel Hardening [archive]
  137. Reverts “Restrict the userfaultfd() syscall to root as it can make heap sprays easier.”
  138. [archive]
  139. cannot use pkexec [archive]
  140. disksd[572]: failed to load module crypto: cannot open shared object file: No such file or directory

  141. onioncircuits started from tor-control-panel by running it under user debian-tor rather than root [archive].
  142. Fix Non-Qubes-Whonix Whonix-Gateway slow boot [archive].
  143. fix, don’t lock down network if IPv6 isn’t available and thereby no need to firewall, apparmor profile added in complain mode [archive].
  144. [archive]
  145. INTERNAL_OPEN_PORTS setting [archive]
  146. [archive]
  147. [archive]
  148. i2p is not yet installed by default because of this reason [archive].
  149. Also: check for noexec, remount exec and work on Qubes DispVM exec / noexec [archive].
  150. It is also not compatible with apt speedup, see: Speeding up "apt update" with Acquire::Languages=none and Contents-deb::DefaultEnabled=false - It's so much faster! [archive]
  151. For instructions on how to use command-not-found, see here.
  152. [archive]
  153. [archive]
  154. [archive]
  155. [archive] no longer installed by default
  156. The key is now hardcoded in package source code.
  157. [archive]
  158. [archive]
  159. [archive]
  160. tumbler is a “Recommends:” of ristretto.
  161. Which image viewer to install by default? [archive]
  162. Build CI builds on Travis CI [archive]
  163. Integration with APT and packaging [archive] is not yet complete. Help welcome!
  164. Help is welcome to finish this work.
  165. See: Error. Failed bilding Whonix gateway on physical host. [archive]
  166. In other words, packages can now be built without genmkfile.
  167. See: Whonix moving from GitHub to GitLab [archive].
  168. The current developers-only version and next stable version of Whonix can be built completely from GitLab.
  169. [archive]
  170. [archive]
  171. [archive]
  172. Old: “Whonix is experimental software. Do not rely on it for strong anonymity.” New: “Whonix is a research project.”
  173. vanguards - Additional protections for Tor Onion Services [archive]
  174. In favor of sdwdate-gui. whonixcheck connectivity check code checks Tor as well as sdwdate. Due to slow Tor/onion speed it often times out. Improving that code is difficult, so sdwdate-gui is used instead as a solution that provides better visual feedback to users.
  175. [archive]
  176. tor_0.4.2.6-1~d10.buster+1_amd64.deb from
  177. Tor 0.4.25 release how can we upgrade [archive]
  178. Onion Services DDOS Defense Tor [archive]
  179. torrc.d cleaner [archive]
  180. Quote Tor manual: ‘Files starting with a dot are ignored.’
  181. Quote Tor manual: ‘Files on subfolders are ignored.’
  182. [archive]
  183. [archive]
  184. [archive]
  185. [archive]
  186. [archive]
  187. This helps for recovery efforts and simplifies setting up the kernel boot parameters inside the VM.
  188. [archive]
  189. [archive]
  190. Cannot access encrypted USB drive with Thunar in Whonix 15 [archive]
  191. Whonix host operating system [archive]
  192. Whonix Xfce Development [archive]
  193. Use sudoedit in Whonix documentation and Whonix software [archive]
  194. Onion Services Authentication [archive]
  195. See also: Serial Console.
  196. Merge upstream changes [archive].
  197. Improved Debian host support [archive].
  198. Usability, output enhancements [archive].
  199. Added compatibility [archive] with restrict hardware information to root for Live Mode Indicator Systray.
  200. Fixed Live Mode Indicator Systray [archive] to detect ro-mode-init.
  201. Packaging enhancements, no longer depend on genmkfile, fix, use same version number as upstream (2.0) [archive].
  202. Remove Whonix specificity [archive] (default config file) from onion-grater (Whitelisting filter for dangerous Tor control protocol commands).
  203. [archive]
  204. [archive]
  205. dsudo - add sudo askpass wrapper for automated testing [archive].
  206. This means as long as the password is set to changeme, it is possible to use dsudo and not be asked to enter the default password.
  207. Packaging enhancements, no longer depend on genmkfile, can be build using standard Debian packaging tools, apparmor enhancements [archive].
  208. Refactoring /usr/lib/qubes-whonix/init/network-proxy-setup [archive].
  209. This replaces grub-output-verbose.
  210. Speeding up "apt update" with Acquire::Languages=none and Contents-deb::DefaultEnabled=false - It's so much faster! [archive].
  211. [archive]
  212. [archive]
  213. This is a sane default that works with default /etc/hosts without generating warnings about a wrong hostname when using sudo. /etc/hostname is not managed by any configuration package and can be changed.
  214. This might be re-introduced later as an opt-in package, see: Use DNSCrypt by default in Kicksecure? (not Whonix!) [archive]
  215. See: enable Debian stable-updates repository by default [archive].
  216. [archive]
  217. [archive]
  218. [archive]
  219. [archive]
  220. [archive]
  221. Added electrum-4.1.2-x86_64.AppImage. See: [archive]
  222. This avoids a grave usability issue whereby users cannot choose ISO in VirtualBox first start wizard (which asks for which ISO to boot).
  223. [archive]
  224. This is not usually required.
  225. [archive]
  226. [archive]
  227. [archive]
  228. Due to apt-key deprecation by Debian; see apt-key Deprecation / Apt 2.2 changes [archive].
  229. [archive]
  230. Due to apt-key deprecation by Debian. Only GPG binary format is understood by Debian’s APT; see: apt-key Deprecation / Apt 2.2 changes [archive].
  231. [archive]
  232. Restrict Hardware Information to Root - Testers Wanted! [archive]
  233. [archive]
  234. [archive]
  235. [archive]
  236. Whonix Workstation XFCE- - sudo git - uwtwrapper uwt wrapper ERROR: /usr/bin/git.anondist-orig does not exist. [archive]
  237. [archive]
  238. Whonix Workstation XFCE- - sudo git - uwtwrapper uwt wrapper ERROR: /usr/bin/git.anondist-orig does not exist. [archive]
  239. [archive]
  240. By default, Debian utilizes User Private Groups (UPG) [archive]. Also see: /usr/share/pam-configs/usergroups-security-misc
  241. For example, this affects those running “chmod o-rwx /home/user” during package installation or an upgrade.
  242. This is only performed once for each folder in the parent /home folder, so users who wish to relax file permissions can do so. This action protects files in the user's home folder which were previously created with lax file permissions prior to the installation of this package.
  243. See: unlock instructions. This means it is possible to have short, easy-to-remember, "weak" passwords for the user user account, while still preventing compromised non-root users from bruteforcing it.
  244. This makes it harder to load a malicious module.
  245. See: /etc/modprobe.d/uncommon-network-protocols.conf
  246. Forum discussion [archive].
  247. See: debian/security-misc.postinst
  248. Disable SUID Binaries [archive]
  249. [archive]
  250. It is disabled by default for now during testing and can optionally be enabled by running systemctl enable permission-hardening.service as root.
  251. This is interesting when using security-misc or Kicksecure.
  252. This is interesting when using security-misc on the host or using Kicksecure as the host operating system.
  253. Should all kernel patches for CPU bugs be unconditionally enabled? Vs Performance vs Applicability [archive]
  254. RDRAND reception [archive]
  255. [archive]
  256. Run “sudo touch /etc/remount-disable”. To opt-in noexec, run “sudo touch /etc/noexec” and reboot (easiest). Alternatively file /usr/local/etc/remount-disable or file /usr/local/etc/noexec could be used.
  257. (re-)mount home (and other?) with noexec (and nosuid among other useful mount options) for better security? [archive]
  258. More work needed [archive]. Help welcome!
  259. GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX efi=disable_early_pci_dma"
  260. [archive]
  261. [archive]
  262. Such as CVE-2017-2636 [archive].
  263. [archive]
  264. Sets dev.tty.ldisc_autoload=0
  265. See: KVM Command Line Interface (CLI)
  266. [archive]
  267. This does not yet apply to Qubes-Whonix.
  268. Qubes issue [archive].
  269. This is a purposeful security feature and there are no user freedom restrictions; read more here.
  270. See: gpg --recv-keys fails / no longer use keyservers for anything [archive].
  271. [archive]
  272. Running any editor as root is insecure. sudoedit copies the file to a temporary location, edits it as a normal user and then overwrites the original using sudo.
  273. [archive]
  274. CVE-2020-8516 Hidden Service deanonymization [archive]
  275. enable vanguards by default [archive]
  276. install by default [archive]
  277. Also available in Qubes OS Debian templates and Qubes-Whonix with use of an in-VM kernel.
  278. LKRG will likely be installed by default in Whonix and Kicksecure in one of the next stable releases.
  279. This is quick and easy. For example: “dpkg-buildpackage -b”
  280. Since LKRG now supports module parameters and VirtualBox host support [archive], it can be automatically started after installation since it would no longer kill VirtualBox VMs running on a host.
  281. [archive]
  282. [archive]
  283. System-wide sandboxing framework - sandbox-app-launcher [archive].
  284. [archive]
  285. [archive]
  286. [archive]
  287. [archive]
  288. This is not an issue worth notifying users about.
  289. [archive]
  290. System-wide sandboxing framework - sandbox-app-launcher [archive].
  291. [archive]
  292. [archive]
  293. [archive]
  294. [archive]
  295. TCP ISN CPU Information Leaks can be used de-anonymize Tor onion services. tirdad fixes that.
  296. An analysis of TCP secure SN generation in Linux and its privacy issues [archive]
  297. Tirdad kernel module for random ISN generation [archive]
  298. Tor Project bug report: Add research idea for Linux TCP Initial Sequence Numbers may aid correlation [archive]
  299. Research paper: Hot or not: revealing hidden services by their clock skew [archive]
  300. Whonix ticket [archive]
  301. See CVE-2001-0797, using pam_access.
  302. See torbirdy deprecated - replacement required [archive].
  303. This was ported from Tails to anon-apps-config by Whonix developer HulaHoop. Sincere appreciation is expressed to Tails for the torbirdy replacement!
  304. [archive]
  305. [archive]
  306. [archive]
  307. [archive]
  308. A minimum unixtime timestamp is utilized so that if sdwdate onion services later provide false time information due to a bug or attack, the clock is never set to a much earlier date (like 1980) or an earlier date than the release date.
  309. [archive]
  310. See forum thread: Whonix VirtualBox - failed to start - NS_ERROR_FAILURE (0x80004005) - The VM session was aborted. [archive] and the wiki: Failed to open a session for the virtual machine.
  311. [archive]
  312. It is speculated this setting might lead the to the issue High I/O causing filesystem corruption; unfortunately it is unavoidable and there is presently no other solution (due to this VirtualBox host software bug [archive]]. If it manifests, refer to the wiki link for possible workarounds.
  313. In earlier release updates, VirtualBox was upgraded to version 6.1.2; see Get VirtualBox from Debian sid and recompile for Debian buster [archive]
  314. Related: VirtualBox Guest Additions ISO Freedom vs Non-Freedom
  315. Quote VirtualBox manual [archive]:

    VMSVGA: Use this graphics controller to emulate a VMware SVGA graphics device. This is the default graphics controller for Linux guests.

  316. This has better desktop resolution in CLI (virtual terminal) mode. When it was previously disabled, this led to a black screen [archive] on and
  317. [archive]
  318. [archive]
  319. [archive]
  320. [archive]
  321. [archive]
  322. [archive]
  323. Mediawiki thinks the connection is insecure since it does not have internal concepts onion traffic. I am now sending http request X-Forwarded-Proto: https for onion to let mediawiki know that it’s a secure connection.

  324. [archive]
  325. [archive]
  326. [archive]
  327. [archive]
  328. [archive]
  329. [archive]
  330. [archive]
  331. This website is not yet public; a significant effort is required to rewrite the wiki for Kicksecure.

Fosshost is sponsors Kicksecure stage server Whonix old logo.png
Fosshost About Advertisements

Search engines: YaCy | Qwant | ecosia | MetaGer | peekier | Whonix ™ Wiki

Follow: 1024px-Telegram 2019 Logo.svg.png Iconfinder Apple Mail 2697658.png Twitter.png Facebook.png Rss.png Reddit.jpg 200px-Mastodon Logotype (Simple).svg.png

Support: 1024px-Telegram 2019 Logo.svg.png Discourse logo.png Matrix logo.svg.png

Donate: Donate Bank Wire Paypal Bitcoin accepted here Monero accepted here Contriute

Whonix donate bitcoin.png Monero donate Whonix.png United Federation of Planets 1000px.png

Twitter-share-button.png Facebook-share-button.png Telegram-share.png link=mailto:?subject=Whonix Stable Release&body= link= Stable Release link= Stable Release link= Stable Release%20 Stable Release

https link onion link Priority Support | Investors | Professional Support

Whonix | © ENCRYPTED SUPPORT LP | Heckert gnu.big.png Freedom Software / Osi standard logo 0.png Open Source (Why?)

The personal opinions of moderators or contributors to the Whonix ™ project do not represent the project as a whole.

By using our website, you acknowledge that you have read, understood and agreed to our Privacy Policy, Cookie Policy, Terms of Service, and E-Sign Consent.