p7zip & p7zip-rar EOL or transition

Metadata

  • package: p7zip, p7zip-rar
  • releases: stretch buster bullseye bookworm

Current State

Obstacles Preventing Continued Support

Alternative Courses of Action

  • Upstream backport: not possible as p7zip upstream is dead

  • Mimic trixie in all dists:

    • Transitional package to 7zip (and 7zip-rar)
    • Upstream backport of 7zip in bookworm to fix open vulnerabilities
    • Introduce new package 7zip in <=bullseye; 7zip has no build-dependencies so should be easily backportable (at first glance) [EDIT: newer 7zip depends on asmc-linux for amd64 assembly code, though this seems optional]
    • Introduce new package 7zip-rar in <=bookworm
  • Overwrite p7zip with a newer 7zip + minimal patches (discussion)

    • mimic p7zip version output
    • handle the p7zip-specific -l option
  • Switch to a different p7zip fork e.g. https://github.com/p7zip-project/p7zip

Potential Impacts

Impacts of taking no action

Open vulnerabilities: directory traversal, memory corruption in RAR and NTFS handlers. Those were marked <no-dsa> (Minor issue) by the security team so far.

Impacts of full EOL

  • Archive formats need to be handled by other packages (unar, zip, unrar-free, etc.),
  • Or, extracted archives need to be trusted
  • Or, proper isolation is required before manipulating untrusted archives.

Impacts of alternative course(s) of action

  • Mimic trixie in all dists:

    • Fully maintain 7zip/7zip-rar in all dists
    • Continue importing new 7zip upstream releases
    • Non-trivial backport as new 7zip packages have ASM support, create a 7z.so, multiple binary packages, etc.
  • Overwrite p7zip with a newer 7zip + minimal patches:

    • Should have the least impact
  • https://github.com/p7zip-project/p7zip stuck at v22 (upstream is v25)

Additional impacts

Archiver GUI depending on p7zip, for instance file-roller/engrampa, may need to be modified to use and depend on other packages (be it other packages or a newer 7z).

Examples for p7zip->7zip:

Reverse dependencies can be tricky to find: need to check both p7zip and p7zip-full, and follow Depends,Recommends,Suggests.

/cc @roberto @santiago

Edited by Sylvain Beucler