Free and open-source vulnerability scanner

Mageni eases for you the vulnerability scanning, assessment, and management process. It is free and open-source.

Install Now

Available for macOS, Windows, and Linux

App screenshot

Debian Security Advisory DSA 379-1 (sane-backends)

Information

Severity

Severity

High

Family

Family

Debian Local Security Checks

CVSSv2 Base

CVSSv2 Base

7.5

CVSSv2 Vector

CVSSv2 Vector

AV:N/AC:L/Au:N/C:P/I:P/A:P

Solution Type

Solution Type

Vendor Patch

Created

Created

16 years ago

Modified

Modified

6 years ago

Summary

The remote host is missing an update to sane-backends announced via advisory DSA 379-1.

Insight

Insight

Alexander Hvostov, Julien Blache and Aurelien Jarno discovered several security-related problems in the sane-backends package, which contains an API library for scanners including a scanning daemon (in the package libsane) that can be remotely exploited. Thes problems allow a remote attacker to cause a segfault fault and/or consume arbitrary amounts of memory. The attack is successful, even if the attacker's computer isn't listed in saned.conf. You are only vulnerable if you actually run saned e.g. in xinetd or inetd. If the entries in the configuration file of xinetd or inetd respectively are commented out or do not exist, you are safe. Try telnet localhost 6566 on the server that may run saned. If you get connection refused saned is not running and you are safe. The Common Vulnerabilities and Exposures project identifies the following problems: CVE-2003-0773: saned checks the identity (IP address) of the remote host only after the first communication took place (SANE_NET_INIT). So everyone can send that RPC, even if the remote host is not allowed to scan (not listed in saned.conf). CVE-2003-0774: saned lacks error checking nearly everywhere in the code. So connection drops are detected very late. If the drop of the connection isn't detected, the access to the internal wire buffer leaves the limits of the allocated memory. So random memory after the wire buffer is read which will be followed by a segmentation fault. CVE-2003-0775: If saned expects strings, it mallocs the memory necessary to store the complete string after it receives the size of the string. If the connection was dropped before transmitting the size, malloc will reserve an arbitrary size of memory. Depending on that size and the amount of memory available either malloc fails (->saned quits nicely) or a huge amount of memory is allocated. Swapping and and OOM measures may occur depending on the kernel. CVE-2003-0776: saned doesn't check the validity of the RPC numbers it gets before getting the parameters. CVE-2003-0777: If debug messages are enabled and a connection is dropped, non-null-terminated strings may be printed and segamentation faults may occur. CVE-2003-0778: It's possible to allocate an arbitrary amount of memory on the server running saned even if the connection isn't dropped. At the moment this can not easily be fixed according to the author. Better limit the total amount of memory saned may use (ulimit). For the stable distribution (woody) this problem has been fixed in version 1.0.7-4. For the unstable distribution (sid) this problem has been fixed in version 1.0.11-1 and later. We recommend that you upgrade your libsane packages.

Solution

Solution

https://secure1.securityspace.com/smysecure/catid.html?in=DSA%20379-1