Christoph Anton Mitterer wrote:
Even if it would be properly secured with some key that upstream has,
it would allow them to selectively inject code into Debian systems.

Then anything we could do upstream (e.g. provide a drivedb.h.asc file, check it in update-smart-drivedb) won't help.

Some volunteer maintainer might provide drivedb.h (below /usr, not /var) as a separate arch independent package and update it more frequently than smartmontools. Such a package only needs a "suggests" dependency because the built-in database is used if the external file is missing.


In the short term it should probably be disabled or at least prompt the
user to manually verify a checksum or something.

  ./configure --without-drivedbdir

This keeps the built-in database and optional /etc/smartd_drivedb.h intact.

If done, please add a dummy update-smart-drivedb script which explains why this functionality was removed.


Possible risks from a bogus drivedb.h:

- The typical worst case: A hidden bug in the parser allows to run arbitrary code as root.
(BTW: Thanks for any review of the parser in knowndrives.cpp)

- Removing "-F nologdir" option from Intel 320/710 SSD entries may result in drive a firmware crash if Log Directory is read.

- Setting a bogus USB "-d TYPE" option may result in disconnected USB devices or more serious problems.

- More ? (IMO no).


Thanks,
Christian
smartmontools.org

Reply via email to