1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-11 02:58:02 -06:00
Commit Graph

2666 Commits

Author SHA1 Message Date
Mounir IDRASSI
eeebbf74f9 macOS: fix wxWidgets 3.2.6 assert for undefined switch use-dummy-sudo-password (GH #1470) 2025-01-23 17:18:57 +01:00
Mounir IDRASSI
16aa1a7be0 Increment version to 1.26.19. Update Release Notes. VeraCrypt_1.26.19 2025-01-22 18:37:46 +01:00
Mounir IDRASSI
1ebe3546a6 Update copyright date to 2025 2025-01-22 17:52:45 +01:00
Mounir IDRASSI
b42841ed3c macOS: Fix regression in dismount caused by wrong umount path (#1467) 2025-01-22 17:48:51 +01:00
Mounir IDRASSI
05ea7c120a macOS: Fix packaging error due to template dmg being too small.
To fix it, we resized the template dmg using hdiutil resize --size 16M
VeraCrypt_1.26.18
2025-01-20 13:51:31 +01:00
Mounir IDRASSI
c17270fc53 MacOSX: Fix erroneous preprocessor directive 2025-01-20 13:49:31 +01:00
Mounir IDRASSI
b187afb4c8 Update release notes and release date. 2025-01-19 14:06:36 +01:00
Mounir IDRASSI
c1d9219f72 Translations: Update French translation 2025-01-19 13:54:58 +01:00
Mounir IDRASSI
ef214a511a Updated translation: pt-br. 2025-01-19 11:11:51 +01:00
Mounir IDRASSI
cca323964e Linux: Add missing header in ARM64 build. Add .oarmv8crypto to .gitignore 2025-01-18 16:37:26 +01:00
Mounir IDRASSI
ff63e5aad0 Update Release Notes. Set version to 1.26.18. Update signed Windows drivers. 2025-01-17 07:44:09 +01:00
Mounir IDRASSI
54bd819990 Windows/Linux/macOS: implement AES hardware support on ARM64 (ARMv8) 2025-01-17 00:58:54 +01:00
Mounir IDRASSI
c79f8102e0 Update Release Notes about fixed CVEs 2025-01-14 15:52:03 +01:00
Mounir IDRASSI
1c38446d78 Translations: Update translations of newly added fields 2025-01-14 14:59:45 +01:00
Mounir IDRASSI
078d1410dd Linux/FreeBSD: Prevent mounting volumes on system directories and PATH (CVE-2025-23021, reported by SivertPL @__tfr)
Added security checks to prevent mounting VeraCrypt volumes on system directories (like /usr/bin) or directories in the user's PATH, which could theoretically allow execution of malicious binaries instead of legitimate system binaries.

Key changes:
- Block mounting on protected system directories (/usr, /bin, /lib, etc.)
  This restriction cannot be overridden
- Block mounting on directories present in user's PATH environment variable
  This can be overridden with --allow-insecure-mount flag
- Add visual warnings (red border, "[INSECURE MODE]") when mounting on PATH directories is allowed
- Handle symlinks properly when checking paths
- Add new error messages for blocked mount points

To override PATH-based restrictions only (system directories remain protected):
veracrypt --allow-insecure-mount [options] volume mountpoint

Security Impact: Low to Medium
The attack requires either:
- User explicitly choosing a system directory as mount point instead of using VeraCrypt's default mount points
- Or attacker having both filesystem access to modify favorites configuration AND knowledge of the volume password
Default mount points are not affected by this vulnerability.

Security: CVE-2025-23021
2025-01-14 14:59:45 +01:00
Mounir IDRASSI
2cca2e1daf Linux/FreeBSD: Add absolute paths for system binaries to prevent path hijacking (CVE-2024-54187, collaboration with SivertPL @__tfr)
This commit fixes a critical security vulnerability where VeraCrypt could be tricked into executing malicious binaries with elevated privileges. The vulnerability has two severe implications:

1. When sudo's secure_path option is disabled, attackers could execute malicious binaries with root privileges by placing them in user-writable PATH directories (e.g., making "sudo mount" execute a malicious mount binary)

2. By placing a malicious sudo binary in PATH, attackers could intercept and steal the user's password when VeraCrypt prompts for sudo authentication

The vulnerability allowed attackers to place malicious binaries in user-writable directories that appear in PATH before system directories, potentially leading to privilege escalation and credential theft.

Key changes:
- Implement FindSystemBinary() to locate executables in secure system paths
- Replace all relative binary paths with absolute paths for system commands
- Add security checks for executable permissions
- Update process execution to use absolute paths for:
  * sudo
  * mount
  * fsck
  * terminal emulators
  * file managers
  * system utilities (hdiutil, mdconfig, vnconfig, lofiadm)

The fix ensures all system binaries are called using their absolute paths from secure system directories, preventing both privilege escalation through PATH manipulation and password theft through sudo hijacking.

Security: CVE-2024-54187
2025-01-14 14:59:40 +01:00
Mounir IDRASSI
1b35abb191 Increment version to 1.26.18. Update copyright date. Update Release Notes. Update Windows drivers. 2025-01-14 12:26:28 +01:00
Mounir IDRASSI
2aae142a2d Windows: Fix regression in Traveler Disk creation (#886)
Issue was caused by the fact that Microsoft signing certificate for driver file has changed.
We fix it by updating the SHA512 fingerprint of Microsoft code signing certificate.
2025-01-13 01:02:12 +01:00
Mounir IDRASSI
cc2f177c5c Linux Debian/Ubuntu: use a distro-specific version string to avoid APT repository conflicts
In a Debian-style APT repository, the pool/ directory groups packages primarily by source package name and binary package name, version, architecture, etc. If two distinct .deb files have identical name and version (as seen in their control file) and same architecture, reprepro will report a conflict when adding one after the other.

So, we need to append distro-specific string to the existing version in order to avoid such conflict when creating VeraCrypt APT repository.
2025-01-11 16:23:11 +01:00
Mounir IDRASSI
e8e0be2ad5 Update donation HTML page to use new PayPal donation links
We add javascript code to the page to handle dynamic selection of donation currency
2025-01-06 11:50:20 +01:00
Mounir IDRASSI
a8c904813b Windows: Add missing file entry to Zip project after libzip update 2025-01-06 11:46:53 +01:00
Mounir IDRASSI
138e5e7c1d Windows: Update libzip to version 1.11.2 2025-01-01 10:37:56 +01:00
Mounir IDRASSI
fcc6302e61 Windows: Update LZMA SDK to version 24.09 2025-01-01 10:37:18 +01:00
Mounir IDRASSI
4e85009f57 Windows: use modern API to gather system entropy for random generation instead of obsolete that were not working
This commit increases randomness quality by using more dynamic/varied sources of entropy.
PDH-based disk and network statistics collection in now added to random pool

- Introduced `GetDiskStatistics` to gather disk read/write performance data using PDH API.
- Introduced `GetNetworkStatistics` to gather network send/receive performance data using PDH API.
- Integrated high-resolution timestamps and random intervals to improve entropy in collected data.
- Updated `SlowPoll` function to utilize PDH-based disk and network statistics.
- Removed obsolete NetAPI32-based network statistics collection.
2024-12-27 00:56:50 +01:00
Mounir IDRASSI
f3af65b007 Windows driver: Use IO_DISK_INCREMENT for event signaling in IRP completion routine
This provides a slight priority boost for waiting threads and maintains standard practice for disk device drivers.
2024-12-25 17:58:12 +01:00
Mounir IDRASSI
d9e17522ee Windows: Update Windows version check on startup to require Win10 1809 or later
- Add IsWin10BuildAtLeast() helper function to check Windows 10 build numbers
- Replace direct build number comparison with IsWin10BuildAtLeast() for ReflectDrivers check
- Update error message to be more specific about Windows version requirement
2024-12-25 17:00:37 +01:00
Mounir IDRASSI
81f0adcc35 Windows Driver: set Windows 10 version 1809 as minimum.
To support this, we had to replace ExAllocatePool2 by ExAllocatePoolUninitialized.
2024-12-25 16:18:19 +01:00
Mounir IDRASSI
283059523d Windows Driver: make UpdateBuffer function more robust by adding security region size parameter 2024-12-25 16:09:10 +01:00
Mounir IDRASSI
650984c958 Linux: Fix warning during build cause by deprecated 'u' modifier in "ar" command 2024-12-25 11:42:37 +01:00
Mounir IDRASSI
3f8ac7cd51 Add XML validation Github workflow (contributed by Jertzukka github.com/Jertzukka/VeraCrypt/tree/ci) 2024-12-25 11:35:58 +01:00
Mounir IDRASSI
ca331b8b34 Linux/macOS: Simplify sudo session detection logic and extend it to macOS
This update simplifies the logic for detecting active sudo sessions by checking the exit code of the sudo -n -l command, which reliably returns 0 if a session is active.

Additionally, this approach is now applicable to recent macOS versions, as they no longer have the sudo bug that previously prevented us from using this method.
2024-12-25 11:29:32 +01:00
Mounir IDRASSI
341411e935 Linux: Fix "Password too long" error message not expanded to include max length (#1456) 2024-12-24 09:24:23 +01:00
Mounir IDRASSI
b6e698b376 Linux/macOS: check if volume doesn't exist before starting the mount operation. 2024-12-23 23:10:37 +01:00
Mounir IDRASSI
f05ce4eaf3 Updated Russian translation of Release Notes (by Dmitry Yerokhin) 2024-12-22 23:40:34 +01:00
Mounir IDRASSI
57cc2473e7 Translations: Update Slovenian translation (contributed by Prof. Sasa Divjak) 2024-12-22 23:33:48 +01:00
Mounir IDRASSI
3bb5184645 Windows: Increment version to 1.26.17.2. Update signed drivers. 2024-11-27 01:05:55 +01:00
Mounir IDRASSI
c98fc900d8 Windows Setup: Fix the implementation of backup/restore of file permission during update 2024-11-27 01:04:55 +01:00
Mounir IDRASSI
968b72947f Update Release Notes. 2024-11-26 23:59:38 +01:00
Mounir IDRASSI
3b4b0f618c Translations: Update Slovenian translation (contributed by Prof. Sasa Divjak) 2024-11-26 23:22:19 +01:00
Mounir IDRASSI
7e398c96d0 Windows: don't test sign driver by default in Release mode. 2024-11-25 00:15:47 +01:00
Mounir IDRASSI
0c5fcf2286 Windows Setup: Fix "Access Denied" issue during VeraCrypt update after a Windows upgrade
During a Windows upgrade, ownership of veracrypt.sys is set to TrustedInstaller, preventing VeraCrypt from accessing the file during an update.

This commit resolves the issue by temporarily taking ownership of the file to rename it, allowing the new file to be copied. The setup process now obtains additional privileges for this operation, which are properly dropped once the file copying is complete.
2024-11-25 00:05:50 +01:00
Mounir IDRASSI
8ad9e7d769 Set 1.26.17 release date to November 24th 2024-11-24 14:04:21 +01:00
Mounir IDRASSI
b6f3d8a23a Translations: Fix issues in Slovenian translation. Complete translation of some entries 2024-11-24 13:46:08 +01:00
Mounir IDRASSI
e798d88407 Translations: Update Slovenian translation (contributed by Prof. Sasa Divjak) 2024-11-24 13:43:34 +01:00
Mounir IDRASSI
53bbee3a7c Windows Driver: Set version to 1.26.17.1. Update signed drivers. 2024-11-24 11:26:41 +01:00
Mounir IDRASSI
453ff2880e Windows Driver: Make max work items count configurable. Increase default to 1024. Queue write IRPs.
- Made the maximum work items count configurable to allow flexibility based on system needs.
  - Increased the default value of max work items count to 1024 to better handle high-throughput scenarios.
  - Queue write IRPs in system worker thread to avoid potential deadlocks in write scenarios.
2024-11-23 17:44:48 +01:00
Mounir IDRASSI
5a85c54c6e Windows Driver: Optimize spinlock usage in CompleteIrpWorkItemRoutine
Reduce the critical section protected by spinlock to only cover the list manipulation operation. Move the ActiveWorkItems counter decrement outside the spinlock using InterlockedDecrement, and separate event signaling from the locked section.
This change minimizes time spent at raised IRQL (DISPATCH_LEVEL) and reduces potential for lock contention.
2024-11-22 15:19:10 +01:00
Mounir IDRASSI
9490336357 Windows: Update signed Windows drivers. 2024-11-20 01:11:15 +01:00
Mounir IDRASSI
b85a2df224 Windows driver: use correct WDM type. Increment version to 1.26.17 2024-11-20 00:21:30 +01:00
Mounir IDRASSI
f9b9a9ca9f Increment version to 1.26.16. Update Release Notes. Update signed Windows drivers. 2024-11-18 00:04:26 +01:00