Wrong length calculation for sctp_getladdrs()/sctp_getpaddrs()

Bug #243463 reported by Thomas Dreibholz
254
Affects Status Importance Assigned to Milestone
lksctp-tools (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

lksctp-tools-1.0.7.dfsg/src/lib/addrs.c, line 132:
memmove(getaddrs, getaddrs + 1, len - sizeof(struct sctp_getaddrs));
uses a wrong length. It must be "len" instead of "len - sizeof(...)". This bug results in wrong address(es) returned in the list. This can lead to security problems when the last address is used e.g. for identifying a node. If the only address is garbled, this may lead to an application denial of service. For example, Reliable Server Pooling (RSerPool) server applications use sctp_getladdrs() to find out the local host addresses of a server to be registered into a pool. If this address is invalid, no registration is possible => server will not be usable for clients.

Corrected call must be:
memmove(getaddrs, getaddrs + 1, len);

This bug is fixed in version 1.0.8 (at lksctp.sourceforge.net), but should also be backported to the 1.0.7 package in Hardy.

Kees Cook (kees)
Changed in lksctp-tools:
status: New → Confirmed
Changed in lksctp-tools (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

Thanks for taking the time to report this bug and helping to make Ubuntu better. Since the package referred to in this bug is in universe or multiverse, it is community maintained. If you are able, I suggest posting a debdiff for this issue. When a debdiff is available, members of the security team will review it and publish the package. See the following link for more information: https://wiki.ubuntu.com/SecurityTeam/UpdateProcedures

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

This was fixed in 1.0.11+dfsg-1. As for the 8.04 version of the package, please add a Hardy task if someone is going to supply a debdiff.

Changed in lksctp-tools (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public Security information  
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.