Package: ucarp Version: 1.5.2-1+nmu1 Severity: normal hi,
first of all, thank you for your work on packaging ucarp for debian … while playing around with ucarp, i came across a little issue: in its default configuration, the shared password used by ucarp is visible to any logged in user via a simple ps aux | grep carp . a potential attacker could use this knowledge to conduct a denial of service, although such an attack is rather unlikely in any real-world scenario. the attached patch to /etc/network/if-up.d/ucarp adds a "ucarp-passfile"- configurable option, which makes it possible to use ucarps passfile-option and works as expected here. with kind regards, thoralf. ps.: please disregard the other bugreport, i thought i had used --debug :-( -- System Information: Debian Release: 7.0 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages ucarp depends on: ii ifupdown 0.7.8 ii libc6 2.13-38 ii libpcap0.8 1.3.0-1 Versions of packages ucarp recommends: ii iproute 20120521-3+b3 ucarp suggests no packages. -- Configuration Files: /etc/network/if-up.d/ucarp changed [not included] -- no debconf information
--- /etc/network/if-up.d/ucarp.dpkg 2013-06-11 17:57:39.517127680 +0200 +++ /etc/network/if-up.d/ucarp 2013-06-11 18:27:04.352163592 +0200 @@ -2,6 +2,7 @@ UCARP=/usr/sbin/ucarp EXTRA_PARAMS="" +PASS="" if [ ! -x $UCARP ]; then exit 0 @@ -43,11 +44,20 @@ EXTRA_PARAMS="$EXTRA_PARAMS -x $IF_UCARP_XPARAM" fi -if [ -n "$IF_UCARP_VID" -a -n "$IF_UCARP_VIP" -a \ - -n "$IF_UCARP_PASSWORD" ]; then - $UCARP -i $IFACE -s $IF_ADDRESS -B -z -v $IF_UCARP_VID \ - -p $IF_UCARP_PASSWORD -a $IF_UCARP_VIP -u $IF_UCARP_UPSCRIPT \ - -d $IF_UCARP_DOWNSCRIPT $EXTRA_PARAMS +if [ -n "$IF_UCARP_PASSWORD" ]; then + EXTRA_PARAMS="$EXTRA_PARAMS -p $IF_UCARP_PASSWORD" + PASS=yes +fi + +if [ -n "$IF_UCARP_PASSFILE" ]; then + EXTRA_PARAMS="$EXTRA_PARAMS -o $IF_UCARP_PASSFILE" + PASS=yes +fi + + +if [ -n "$IF_UCARP_VID" -a -n "$IF_UCARP_VIP" -a -n "$PASS" ]; then + $UCARP -i $IFACE -s $IF_ADDRESS -B -z -v $IF_UCARP_VID -a $IF_UCARP_VIP \ + -u $IF_UCARP_UPSCRIPT -d $IF_UCARP_DOWNSCRIPT $EXTRA_PARAMS fi # vi:ai sw=4 ts=4 tw=0 et