Commit Graph

2751 Commits

Author SHA1 Message Date
Mounir IDRASSI
f6dcfa2b64 Harden TLV parser bounds checks
Reject empty or truncated TLV buffers, unsupported indefinite lengths, and declared value lengths that exceed the remaining input or uint16 node storage. Parse BER long-form lengths in big-endian order before copying value bytes.
2026-05-09 22:54:47 +09:00
Thomas De Rocker
6456856626 Update Language.nl.xml (#1718)
* Update Language.nl.xml

* Update Language.nl.xml
2026-05-08 23:28:52 +09:00
Marius Kjærstad
47605509eb Update Norwegian Bokmål translation (#1716) 2026-05-05 15:52:32 +09:00
Mr-Update
b27ad18e93 Update Language.de.xml (#1715) 2026-05-05 06:54:46 +09:00
Matthaiks
107cb376cb Update Polish translation (#1713) 2026-05-04 07:33:18 +09:00
Marius Kjærstad
23aae844de Update Norwegian Bokmål translation (#1712) 2026-05-04 06:40:19 +09:00
nkh0472
f022ce2111 Translate English entries to Chinese in XML (#1711) 2026-05-04 06:38:52 +09:00
Mounir IDRASSI
f8837090b8 Linux/macOS: show volume creation finalization stages
Report explicit progress stages while writing volume data, writing backup headers, and flushing data to disk so the wizard does not appear stuck at 100%.

Keep the wizard in progress during Unix post-creation formatting and show status for temporary mount/device setup, mkfs invocation, and dismount.
2026-05-03 11:26:20 +09:00
Mammoth
8b80e2fc61 Update Russian translation for ntfs3 preference (#1704)
* Update Russian translation for ntfs3 preference

* Address Russian ntfs3 translation feedback

---------

Co-authored-by: Mamontov <“mammmoth@list.ru”>
2026-05-03 09:41:01 +09:00
Marius Kjærstad
b9c22e3f05 New translations to Language.nb.xml (#1710) 2026-05-02 17:21:59 +02:00
Matthaiks
6e2cc3a3cd Update Polish translation (#1709) 2026-05-02 17:21:22 +02:00
Patriccollu
6582c80629 Update Corsican translation on 2026-05 (#1708)
Co-authored-by: Mounir IDRASSI <mounir.idrassi@amcrypto.jp>
2026-05-02 23:30:43 +09:00
Mounir IDRASSI
abd089140b Linux: add emergency cleanup for stale unmounts
When normal filesystem unmount fails, the Linux path could stop before cleaning VeraCrypt mapper, loop and FUSE objects. Add an explicit emergency dismount request that is only reached after interactive confirmation.

The recovery path lazy-detaches mounted filesystems, uses deferred dmsetup removal for VeraCrypt mapper devices, detaches loop devices, and keeps normal force/ignoreOpenFiles behavior unchanged.
2026-05-02 23:03:29 +09:00
Marius Kjærstad
338fedc56c Fix whitespace issues in translation files (#1707) 2026-05-02 10:32:52 +09:00
Marius Kjærstad
f8f4b64d73 Increment version to 1.26.28 in Language.nl.xml (#1705)
Increment version to 1.26.28 in Language.nl.xml as well.
2026-05-01 09:00:05 +09:00
Mounir IDRASSI
b6744b8ed5 Increment version to 1.26.28 2026-04-30 13:39:51 +09:00
Marius Kjærstad
97a0817497 New update to Language.nb.xml (#1703) 2026-04-29 21:45:51 +09:00
Mounir IDRASSI
b88b9bf76d Language files: regroup newly added entries at the bottom for easy tracking 2026-04-29 16:37:32 +09:00
Mounir IDRASSI
baee91f3ef Translations: Fix lang field of untranslated newly added language files entries 2026-04-29 16:16:00 +09:00
Matthaiks
253879517a Update Polish translation (#1702) 2026-04-29 15:53:33 +09:00
Marius Kjærstad
464314190d Update Language.nb.xml (#1701)
* Update Language.nb.xml

* Some AI issues
2026-04-29 11:57:47 +09:00
Mammoth
771acf5951 Linux: allow mounting NTFS volumes with ntfs3 (#1695)
* Linux: allow mounting volumes with ntfs3

* Linux: add ntfs3 preference for NTFS mounts

* Linux: wrap ntfs3 preference help text

* Add Linux ntfs3 mount preference

* Remove Russian translation changes from ntfs3 PR

* XML Translations: Add English fallback entries for ntfs3 preference

---------

Co-authored-by: Mounir IDRASSI <mounir.idrassi@amcrypto.jp>
2026-04-29 10:11:22 +09:00
nkh0472
1b6f2690db Update Language.zh-cn.xml (#1694) 2026-04-27 22:14:32 +09:00
Marius Kjærstad
361853c0e4 Some minor fixes to Norwegian Bokmål translation (#1699)
Some minor fixes to Norwegian Bokmål translation
2026-04-27 20:41:01 +09:00
Marius Kjærstad
2b9223be51 Update Norwegian Bokmål translation (#1697)
Update Norwegian Bokmål translation
2026-04-27 09:05:29 +09:00
Matthaiks
c480eec8e5 Update Polish translation (#1696) 2026-04-26 21:49:33 +09:00
Mounir IDRASSI
a9b1d5ce57 Windows: Harden Windows driver input validation
Validate SecRegion password cache offsets before use.
Wipe decrypted SecRegion password-cache data even when cache validation fails.
Clamp encrypted I/O work item counts and check allocation sizing.
Reject invalid boot drive sector writes and initialize decoy wipe data unit.
Validate hidden-system boot offsets and remap arithmetic before use.
2026-04-26 18:42:26 +09:00
Mounir IDRASSI
d841ac63e4 Windows: allow EFI repair to finalize stuck decryption 2026-04-26 18:36:54 +09:00
Mounir IDRASSI
e0555e14f0 Windows: detect VeraCrypt loader before Windows loader 2026-04-26 18:36:26 +09:00
Mounir IDRASSI
df4e755112 Windows: verify EFI loader restoration
Verify restored EFI Microsoft and fallback boot loader paths after system decryption.

Show clearer recovery guidance when EFI file restoration or NVRAM cleanup remains incomplete.

Add a GPT-only EFI boot loader repair menu action for already decrypted systems.
2026-04-26 16:47:04 +09:00
Mounir IDRASSI
4fedeb461e Docs: add Unix command line usage page 2026-04-25 23:41:35 +09:00
Mounir IDRASSI
3c1beb1863 docs: document Linux noatime mount option 2026-04-25 11:55:22 +09:00
Mr-Update
e6771478f4 Update Language.de.xml (#1692)
- Translation completed
2026-04-25 10:37:01 +09:00
Thomas De Rocker
2cbfd44df7 Update Dutch translations (#1691)
* Update Language.nl.xml

* Update Language.nl.xml
2026-04-24 18:22:48 +09:00
Nick
401be81a5c Update Swedish translation (#1688)
* Update Swedish translation

* Update Language.sv.xml
2026-04-24 07:01:59 +09:00
curious-rabbit
e7188c96a4 Fix undefined behavior in StartElevated stderr read loop (#1550) (#1687)
The read loop that captures stderr from the sudo child process used
`vector<char> buffer(4096); buffer.clear();` followed by
`read(fd, &buffer[0], buffer.capacity())`. This has two instances of
undefined behavior:

1. `operator[](0)` on a vector with `size() == 0` violates the C++
   standard precondition `n < size()`. libstdc++ built with
   `-D_GLIBCXX_ASSERTIONS` aborts the process with:

     stl_vector.h:1128: Assertion '__n < this->size()' failed.

2. `buffer.begin() + bytesRead` on the same empty vector constructs
   an iterator past `end()`, also UB.

`-D_GLIBCXX_ASSERTIONS` is in the default build flags of Arch Linux,
Fedora, and several other distributions. On those systems, the
unprivileged helper process aborts as soon as sudo writes anything
to stderr (a password prompt, a 'user is not in the sudoers file'
error, etc.). The main process then sees EOF on the service output
pipe, and throws `InsufficientData`, which renders to the user as
'Not enough data available'. A second mount attempt fails at
`File::Write` because the helper is dead and the pipe is broken,
producing the bare message 'VeraCrypt::File::Write:395'.

Fix by replacing `buffer` with a plain `char[4096]` and using
`reserve(4096)` on `errOutput` to preserve the original
pre-allocation intent. No behavioral change on systems where the UB
happened to work; aborts are eliminated on systems where the
assertions fire.

Reported-by: multiple users, see veracrypt/VeraCrypt#1550,
              veracrypt/VeraCrypt#1446, veracrypt/VeraCrypt#844

Co-authored-by: rabbit <rabbit@github>
2026-04-23 21:03:20 +09:00
Mounir IDRASSI
357ce6bd7a macOS: harden FUSE-T SMB metadata handling
Increase advertised metadata file size, broaden hdiutil path normalization, and make auxiliary device info updates atomic.
2026-04-22 23:20:25 +09:00
Mounir IDRASSI
deb7f55bfb macOS: stabilize FUSE-T SMB mount metadata
Make /aux-device-info readable for SMB, verify that FUSE records hdiutil device info after mount and recover missing virtual devices from hdiutil before dismounting auxiliary mounts.
2026-04-22 16:32:10 +09:00
Mounir IDRASSI
4271b8e6f5 macOS: stabilize FUSE-T SMB auxiliary mounts
Add statfs metadata for the auxiliary FUSE mount, keep /control read-only by sending hdiutil device data through /aux-device-info and tolerate delayed SMB rediscovery during mount completion. Log final control-file retry failures for diagnostics.
2026-04-22 14:37:57 +09:00
Mounir IDRASSI
7cd062c42e Windows: honor EFI boot menu options in PostOOBE repair
Use the same SystemFavorites service flag mapping for /PostOOBE bootloader repair as the non-forced service update path. This prevents Windows upgrade repair from adding VeraCrypt to BootOrder or forcing it first when those actions are disabled, while forced updates keep their previous behavior and still repair the loader.
2026-04-21 12:16:33 +09:00
Matthaiks
ec36ec559d Update Polish translation (#1685) 2026-04-21 09:12:48 +09:00
Mounir IDRASSI
49c68ea1ab Windows: handle Argon2 derivation failures 2026-04-20 19:49:45 +09:00
Mounir IDRASSI
e59eb421fb Linux/macOS: Implement missing Argon2 KDF support on Unix 2026-04-19 17:52:44 +09:00
Mounir IDRASSI
e07bd19f20 Windows: Validate PIM on KDF-only password changes 2026-04-19 17:51:02 +09:00
Mounir IDRASSI
e6adb96b15 Windows: fix favorite volume mount race
Copy selected favorite volumes into mount thread parameters so background mounting does not depend on mutable global vector storage. Also avoid unnecessary FavoriteVolume copies in auto-mount paths and fix mount-on-arrival state updates.

Refs #1661
2026-04-18 15:34:38 +09:00
Mounir IDRASSI
da2198831f Windows bootloader: Add EFI DCS guard for Argon2 support
We don't support yet Argon2 for EFI booloader build
2026-04-17 16:03:42 +09:00
Marius Kjærstad
9ae7cb1914 Added line break between AM Crypto and IDRIX (#1679)
Added line break between AM Crypto and IDRIX
2026-04-17 09:02:12 +09:00
audriusbuika
4fea6403ce Windows: Fix elevated COM format drive validation and device path normalization (#1670)
* Windows: Add input validation whitelists to elevated COM methods

* Windows: Add drive number validation to FormatNtfs and FormatFs COM methods

* Windows: Fix correctness regressions in elevated COM format and device path validation

* Windows: Revert unready COM input validation; keep FormatNtfs/FormatFs return fix
2026-04-16 10:31:02 +09:00
Mounir IDRASSI
3e9c47d256 Linux/macOS: collect mouse entropy from nested controls
wxWidgets does not propagate mouse motion events from child controls to parent windows. The Linux/macOS GUI was binding the random-pool mouse handlers only to the dialog/page and its direct children, which left nested controls such as static-box contents and the wizard image as dead zones.

Add a reusable recursive child-window event binder and use it in the keyfile generator, random pool enrichment dialog, and volume creation wizard. The root windows keep their existing generated bindings, while descendants are bound explicitly, avoiding duplicate handling on the root while covering all nested controls.

This makes the entropy gauge and the random pool update consistently no matter where the pointer moves inside the affected windows.

Fixes #1656.
2026-04-15 16:38:08 +09:00
Mounir IDRASSI
631d0cc420 Build: fix macOS text self-test with wxWidgets 3.3.2 2026-04-15 14:58:43 +09:00