Prevent mounting of VC-encrypted drive on downgraded VC

Open
#1,979 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
c
Domain
security

Research direction

Start by reading the linked VeraCrypt issue 1978 to understand the threat this proposal is meant to address, then trace how the format records and checks the VeraCrypt version when mounting a volume. The issue proposes blocking mounts by downgraded versions, but does not name files or tests; done means newer versions can mount older volumes while older versions reject volumes created by newer versions.

Written by the indexing model from the issue text.

Description

Desired behavior

To support https://github.com/veracrypt/VeraCrypt/issues/1978 I propose preventing mounting of VC-encrypted drive on downgraded VC.

  • A: Disk encrypted by VC version 2000
  • B: Disk encrypted by VC version 3000

VC v.2012 can mount A but cannot mount B.

VC v.3001 can mount A and B.

This will force the attacker to use latest or same version of VC.

Screenshots/Mockup/Designs

Additional information

Your Environment

Please tell us more about your environment

VeraCrypt version:

Operating system and version:

System type:

Dominant language
C
Stars
11.7k
Forks
1.4k
Avg merge
1d 1h
Merged PRs (30d)
28

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from veracrypt/VeraCrypt

All issues in veracrypt/VeraCrypt

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.