Re: PATCH: cdrecord: avoiding scsi device numbering for ide devices

Kyle Moffett
2004-08-20T22:06:37Z

On Aug 20, 2004, at 09:41, Joerg Schilling wrote:
>> While Sun did spend a year refusing to fix security holes I found -
>> for
>> "compatibility reasons" - long ago back when I was a sysadmin at NTL,
>> the Linux world does not work that way.
>
> Unless you tell us what kind of "security holes" you found _and_ when
> this has
> been, it looks like a meaningless remark.

Further discussion on such a topic is irrelevant. There is at least
one case
where a vendor has chosen compatibility over security (*cough* *cough*
Windows *cough*). From the previous emails on the issue, the general
opinion of most Linux developers is to choose security over
compatibility,
after all, with free software users are free to fix the
bugs/incompatibilities
themselves.

Security issue:
Anybody with read access to certain block devices (Like CD-RW
drives.) could reflash the firmware or otherwise turn the drive into a
rather expensive doorstop.

Chosen solution for 2.6.8.1:
Only allow certain known-safe commands, anything else needs
root privileges, specifically CAP_SYS_RAWIO or CAP_SYS_ADMIN,
(Seems sane, and follows with the general design of the rest of the
kernel).

Problems with the solution:
It breaks software, *whine*! Well, if Microsoft suddenly fixed all
the remaining security flaws in its software, almost _all_ Windows
software would break, because they depend on silly things like writable
files on the root of the C drive. Just because software does something
doesn't mean it's secure.

Personally, I'd rather have a setuid executable on my system than
allow anybody in the cdwriters group to reflash my CDROM drive. For
you there is a _really_ simple solution akin to the warning message
that already exists in linuxcheck(), if the version is >= 2.6.8, just
tell
the user that it's unsupported and won't work without a patched
kernel. That's a change that could even go in during a code freeze!

Cheers,
Kyle Moffett

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM/CS/IT/U d- s++: a17 C++++>$ UB/L/X/*++++(+)>$ P+++(++++)>$
L++++(+++) E W++(+) N+++(++) o? K? w--- O? M++ V? PS+() PE+(-) Y+
PGP+++ t+(+++) 5 X R? tv-(--) b++++(++) DI+ D+ G e->++++$ h!*()>++$ r
!y?(-)
------END GEEK CODE BLOCK------