1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-13 03:48:26 -06:00
Commit Graph

853 Commits

Author SHA1 Message Date
Mounir IDRASSI
7c13d21d96 Windows: Update code signing certificate after renewal of expired one 2025-04-27 22:11:16 +09:00
Bernard Ladenthin
0478be3626 Add alignment constants for derived key and KEY_INFO buffers to ensure SIMD compatibility. (#1526) 2025-04-21 11:26:34 +02:00
Bernard Ladenthin
5eb358ca18 Refactor: Use symbolic constants for volume header magic numbers (#1525)
Replaced hardcoded 0x56455241 ('VERA') with TC_HEADER_MAGIC for better readability and maintainability.
Also replaced 0x5645524142455854 with TC_BOOT_DRIVE_FILTER_EXTENSION_MAGIC and added 'ULL' suffix for 64-bit safety.
2025-04-21 11:24:02 +02:00
Mounir IDRASSI
a2f11e1102 Windows: Fix link error in 32-bit build by removing crypto.lib reference and implementing sha512 using BCrypt API. 2025-02-08 01:17:55 +01:00
Mounir IDRASSI
42b716f847 Rename "Dismount All" to "Unmount All" in UI. Use ALT+u as new accelerator key instead of ALT+s 2025-02-05 21:30:33 +01:00
Mounir IDRASSI
55563ffe42 Increment version to 1.26.20. Update Release Notes. 2025-02-03 17:52:19 +01:00
Mounir IDRASSI
c69ba240c4 Complete replacement of Dismount references by Unmount in various files 2025-02-02 23:37:36 +01:00
Mounir IDRASSI
04e7d8c5ee Windows: Revert use PDH API to gather system entropy because of issues encountered by users
cf thread: https://sourceforge.net/p/veracrypt/discussion/general/thread/293d401a30

delays and sporadic crashes in some cases.
2025-02-02 13:51:33 +01:00
Helmut K. C. Tessarek
498dff9013 refactor: use the term unmount instead of dismount (#1478)
* refactor: use UNMOUNT instead of DISMOUNT in code

This change updates the term DISMOUNT in constants to UNMOUNT.
Other occurrences (e.g. variable names) are left alone for now.

* refactor(ui): use unmount instead of dismount

This change updates the GUI text and replaces dismount with unmount.

* docs: update term dismount -> unmount

* refactor(cmdline): add unmount

This change adds an argument 'unmount' for command line usage, while
trying to deprecate the old disnount argument.
The current dismount argument/flag will still work to not introduce
a breaking change.

* docs: mention that /dismount is deprecated

This change fixes the shorthand version of the argument /unmount
It also adds back the info for /dismount and that it is deprecated.
2025-01-31 23:18:26 +01:00
Mounir IDRASSI
16aa1a7be0 Increment version to 1.26.19. Update Release Notes. 2025-01-22 18:37:46 +01:00
Mounir IDRASSI
b187afb4c8 Update release notes and release date. 2025-01-19 14:06:36 +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
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
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
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
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
c98fc900d8 Windows Setup: Fix the implementation of backup/restore of file permission during update 2024-11-27 01:04:55 +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
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
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
Mounir IDRASSI
93868acfdd Windows Driver: Use system functions directly instead of dynamic loading since we are targeting Windows 10 2024-11-17 21:37:16 +01:00
Mounir IDRASSI
a588b20975 Windows: Fix driver crash caused by 32-bit leftover code in derive_key_blake2s function 2024-11-16 17:38:25 +01:00
Mounir IDRASSI
9c9870b103 Windows: Avoid modifying BootArguments structure and use __unaligned keyword to inform compiler that pointer is unaligned.
This avoids issues with existing bootloaders
2024-11-16 01:50:06 +01:00
Mounir IDRASSI
c86577fc0e Windows: remove 32-bit logic from the code since we support only 64-bit. remove 32-bit EFI bootloader files.
We also fix intermediary files folder for Portable and Setup projects
2024-11-16 01:05:15 +01:00
Mounir IDRASSI
a69cba98ec Windows: Fix regression in self-test of hash algorithms that caused them to fail 2024-11-16 00:51:32 +01:00
Mounir IDRASSI
62e956942a Windows: remove VS 2019 solution and project files since we migrated to VS 2022. 2024-11-15 18:36:19 +01:00
Mounir IDRASSI
6d1ad12755 Windows: move main project files and solution from VS 2010 to VS 2022. Delete unused files. 2024-11-15 15:50:32 +01:00
Mounir IDRASSI
ad39040fdc Windows: Fix warning when building Setup and Portable. No file elevation is used for them. 2024-11-15 15:47:28 +01:00
Mounir IDRASSI
214fbb5cbd Windows: Upgrade VS 2019 solution/projects to VS 2022. Remove Win32 configuration for driver and binaries.
Only setup remains 32-bit to be compatible with both x64 and arm64 Windows.
2024-11-15 14:22:45 +01:00
Mounir IDRASSI
de9e472d10 Windows: Fix build of MBR bootloader 2024-11-15 11:16:19 +01:00
Mounir IDRASSI
21e61c8ded Windows: Fix warning in driver build by make get_pkcs5_iteration_count have a single return statement at the end 2024-11-15 11:15:41 +01:00
Mounir IDRASSI
fc4a544180 Windows: Use VS builtin __fastfail intrinsic for fatal exception instead of affecting NULL pointer 2024-11-15 00:42:19 +01:00
Mounir IDRASSI
43ad4f93eb Windows: Fix various compiler warnings 2024-11-15 00:41:07 +01:00
Mounir IDRASSI
75152f7dc0 Use adequate const qualifiers for pbkdf2 functions arguments 2024-11-13 09:28:32 +01:00
Mounir IDRASSI
cb97351250 Windows: Remove support for 32-bit driver code. Set build target as Windows 10. Simplify code and fix all warnings in driver. 2024-11-13 02:08:51 +01:00
Mounir IDRASSI
ec4b44c238 Windows: Use BCryptGenRandom instead of deprecated CryptGenRandom to generate secure random bytes 2024-11-13 02:04:13 +01:00
Mounir IDRASSI
68e2e01745 Windows: Fix EFI configuration editor various issues
We always using Unicode functions to interact with UI. We convert UTF8 string to UTF16 and vis-versa.
Overwrite input string instead of using resize that caused old test to remain.
Fix case of readOnly by using correct message.
change position of OK/cancel button to match other dialogs.
Activate translation on this dialog.
2024-09-19 00:36:31 +02:00
Mounir IDRASSI
380850787e Windows: Simplify error message related to IsEfiBoot since it always fail with ERROR_INVALID_FUNCTION
Proposed by @kriegste on https://github.com/veracrypt/VeraCrypt/issues/360
2024-09-17 18:25:52 +02:00
Mounir IDRASSI
eb0eec7b39 Windows: Fix failed EFI detection on some PCs where BootOrder variable is not defined.
we now report that EFI is not support only when GetFirmwareEnvironmentVariable fails with error ERROR_INVALID_FUNCTION.

Proposed by @kriegste on https://github.com/veracrypt/VeraCrypt/issues/360
2024-09-16 23:11:37 +02:00
Mounir IDRASSI
01dfd0e72b Linux/macOS: Fix missing define that was causing compilation error 2024-09-10 23:32:42 +02:00
Mounir IDRASSI
4a8f068ba5 Windows: Add support for x86 and x64 build for driver and binaries using Visual Studio 2019
We also enable Control Flow Guard and Spectre Mitigation
2024-09-08 17:14:31 +02:00
Mounir IDRASSI
0970a98c84 Windows: Fix bug in disabling of Windows privileges, they were completely removed instead
This started to cause issues after latest changes to disable privileges when they are no more needed.
Because of the bug, the privileges could not be enabled again because they were wrongly removed.
2024-09-02 14:08:26 +02:00
Mounir IDRASSI
f024653450 Windows: Fix truncated displayed error message 2024-09-02 14:02:46 +02:00