[OpenAFS] openafs-1.4.2 RHEL RPM package installs nonempty SuidCells and mangles
CellServDB
Berthold Cogel
cogel@rrz.uni-koeln.de
Thu, 16 Nov 2006 10:10:27 +0100
Hello!
The RHEL (RHEL 3 and RHEL 4) openafs package installs a SuidCells.dist
file that contains the following entrys:
athena.mit.edu
net.mit.edu
sipb.mit.edu
dev.mit.edu
ops.mit.edu
This file is merged during client startup with a SuidCells.local:
echo -n $"Updating SuidCells: "
cat /usr/vice/etc/SuidCells.local /usr/vice/etc/SuidCells.dist > \
/usr/vice/etc/SuidCells
chmod 644 /usr/vice/etc/SuidCells
IMHO this is a security issue! This should not *never* happen, because
it poses a threat to unexperienced users and during updates of the client.
The same mechanism is applied to CellServDB!
We maintain our CellServDB ourself for several reasons. This startup
script mangles our configuration and interferes with our scripts. Even
if I remove CellServDB.dist and CellServDB.local (which is empty), my
CellServDB (maintained by cfengine, and on some older systems by a
cronjob) is overwritten:
[root@sipserv etc]# pwd
/usr/vice/etc
[root@sipserv etc]# ls -l
insgesamt 160
-rwxr-xr-x 1 root root 121564 14. Okt 16:11 afsd
-rw-r--r-- 1 root root 28 15. Nov 17:26 cacheinfo
-rw-r--r-- 1 root root 26422 16. Nov 09:47 CellServDB
-rw-r--r-- 1 root root 0 16. Nov 09:47 SuidCells
-rw-r--r-- 1 root root 18 15. Nov 17:26 ThisCell
[root@sipserv etc]# service openafs-client start
Updating CellServDB: cat: /usr/vice/etc/CellServDB.local: Datei oder
Verzeichnis nicht gefunden
cat: /usr/vice/etc/CellServDB.dist: Datei oder Verzeichnis nicht gefunden
Updating SuidCells: cat: /usr/vice/etc/SuidCells.local: Datei oder
Verzeichnis nicht gefunden
cat: /usr/vice/etc/SuidCells.dist: Datei oder Verzeichnis nicht gefunden
Starting openafs-client: afsd: All AFS daemons started.
afsd: Can't mount AFS on /afs(22)
[root@sipserv etc]# ls -al
insgesamt 144
drwxr-xr-x 2 root root 4096 16. Nov 09:45 .
drwxr-xr-x 4 root root 4096 14. Okt 16:09 ..
-rwxr-xr-x 1 root root 121564 14. Okt 16:11 afsd
-rw-r--r-- 1 root root 28 15. Nov 17:26 cacheinfo
-rw-r--r-- 1 root root 0 16. Nov 09:48 CellServDB
-rw-r--r-- 1 root root 0 16. Nov 09:48 SuidCells
-rw-r--r-- 1 root root 18 15. Nov 17:26 ThisCell
[root@sipserv etc]#
There is *no* error handling in this part of the script!
The script should test for existing configuration files. Modifying
CellServDB and SuidCells should be a configuration option in
/etc/default/openafs that is switched off by default.
Regards,
Berthold Cogel