Package: libaudit1t64,libauparse0t64
Version: 1:3.1.2-2.1~exp1
Severity: serious
X-Debbugs-Cc: vor...@debian.org

Hi,

this is one of the uploads where we benefit from having gone via
experimental.

/usr/lib/x86_64-linux-gnu/libaudit.so.1 and
/usr/lib/x86_64-linux-gnu/libaudit.so.1.0.0 have been moved from
libaudit1 to libaudit1t64 in this upload and these files have formerly
been installed below /lib in bookworm. Hence, we are creating exactly
the problem that the file move moratorium was meant to prevent.

/usr/lib/x86_64-linux-gnu/libauparse.so.0 and
/usr/lib/x86_64-linux-gnu/libauparse.so.0.0.0 likewise move from
libauparse0 to libauparse0t64 and create the same problem.

DEP17 classifies this a P1 and proposed mitigations M7 and M8. In this
case, I recommend not exercising Conflicts (M7), because they are known
to be unreliable and libaudit1 is part of the the essential set (login
depends on it). Instead, their respective preinst script should create
protective diversions

    dpkg-divert --package libaudit1t64 --no-rename --divert 
/lib/x86_64-linux-gnu/libaudit.so.1.usr-is-merged 
/lib/x86_64-linux-gnu/libaudit.so.1

for each of the affected files with their aliased location. In this case
- since we cannot use Conflicts - we cannot get rid of these diversions
in postinst. We already have Breaks: libaudit1 (<< ...), but that allows
concurrent unpack and hence still allows for the file loss scenario. The
diversions should be cleaned up in forky's postinst.

I appreciate another upload of audit to experimental to verify the
mitigation.

Helmut

http://subdivi.de/~helmut/dep17.html

Reply via email to