linux/drivers/firewire
Stefan Richter de487da8ca firewire: cdev: secure add_descriptor ioctl
The access permissions and ownership or ACL of /dev/fw* character device
files will typically be set based on the device type of the respective
nodes, as obtained by firewire-core from descriptors in the device's
configuration ROM.  An example policy is to deny write permission by
default but grant write permission to files of AV/C video and audio
devices and IIDC video devices.

The FW_CDEV_IOC_ADD_DESCRIPTOR ioctl could be used to partly subvert
such a policy:  Find a device file with relaxed permissions, use the
ioctl to add a descriptor with AV/C marker to the local node's ROM, thus
gain access to the local node's character device file.  (This is only
possible if there are udev scripts installed which actively relax
permissions for known device types and if there is a device of such a
type connected.)

Accessibility of the local node's device file is relevant to host
security if the host contains two or more IEEE 1394 link layer
controllers which are plugged into a single bus.

Therefore change the ABI to deny FW_CDEV_IOC_ADD_DESCRIPTOR if the file
belongs to a remote node.  (This change has no impact on known
implementers of the ABI:  None of them uses the ioctl yet.)

Also clarify the documentation:  The ioctl affects all local nodes, not
just one local node.

Cc: stable@kernel.org
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2009-03-24 20:56:50 +01:00
..
fw-card.c firewire: broadcast channel support 2009-03-24 20:56:49 +01:00
fw-cdev.c firewire: cdev: secure add_descriptor ioctl 2009-03-24 20:56:50 +01:00
fw-device.c firewire: broadcast channel support 2009-03-24 20:56:49 +01:00
fw-device.h firewire: core: clean up includes 2009-03-24 20:56:47 +01:00
fw-iso.c firewire: normalize a variable name 2009-03-24 20:56:48 +01:00
fw-ohci.c firewire: implement asynchronous stream transmission 2009-03-24 20:56:49 +01:00
fw-ohci.h firewire: fw-ohci: log regAccessFail events 2008-04-18 17:55:34 +02:00
fw-sbp2.c firewire: remove line breaks before function names 2009-03-24 20:56:40 +01:00
fw-topology.c firewire: remove line breaks before function names 2009-03-24 20:56:40 +01:00
fw-topology.h firewire: core: topology header fix 2009-03-24 20:56:43 +01:00
fw-transaction.c firewire: implement asynchronous stream transmission 2009-03-24 20:56:49 +01:00
fw-transaction.h firewire: broadcast channel support 2009-03-24 20:56:49 +01:00
Kconfig firewire: Kconfig help update 2008-08-19 18:47:56 +02:00
Makefile firewire: prefix modules with firewire- instead of fw- 2007-05-27 23:21:01 +02:00