← Back to team overview

ecryptfs team mailing list archive

[Bug 732628] Re: TOCTOU in mount.ecryptfs_private

 

Unless you'd prefer one big patch, I'll start uploading fixes for the
various issues here one at a time as I write them.

The current list goes something like this (with help from Marc):

1. Race condition when checking mountpoint during mount
2. Race condition when checking mountpoint during unmount
3. Race condition when checking source during mount
4. Improper mtab handling allowing corruption due to resource limits, signals, etc.
5. Key poisoning in ecryptfs-setup-private due to insecure temp directory
6. ecryptfs-recover-private mounts directly in /tmp
7. Predictable lock counter name and associated races

First, I've attached a first pass at doing mtab handling properly.  I
plan on addressing 1 and 2 next.

** Patch added: "mtab handling fix"
   https://bugs.launchpad.net/ecryptfs/+bug/732628/+attachment/2199381/+files/mtab.diff

-- 
You received this bug notification because you are a member of eCryptfs,
which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/732628

Title:
  TOCTOU in mount.ecryptfs_private

Status in eCryptfs - Enterprise Cryptographic Filesystem:
  Triaged
Status in “ecryptfs-utils” package in Ubuntu:
  Fix Released
Status in “ecryptfs-utils” package in Debian:
  New
Status in “ecryptfs-utils” package in Fedora:
  New

Bug description:
  check_ownerships() function doesn't work as it should because of a
  race condition.  Arguments of both mount() and umount() calls can be
  changed between the check and the usage.  This may lead to arbitrary
  mount point umounting or probably to gaining ability to try
  passphrases of otherpeople's ecryptfs storages.

  lock_counter() is also racy.  It (1) tries to check existance and
  ownership of the file before open(), (2) neither use stat() instead of
  lstat() nor O_NOFOLLOW, (3) is not protected against deletion of the
  lock file by the owner. The lock file should be probably created in
  root only writable directory before dropping EUID.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ecryptfs/+bug/732628/+subscriptions


References