The following advisory from firstname.lastname@example.org is for LinPopUp 1.2.0. I was not able to get net-im/linpopup-2.0.2 to SegFault or remove a file (as described in the advisory) using the given exploit, but inspecting the source shows the vulnerability still exists.
PS: This is last one from email@example.com for now, the Q finally is empty. Yeah! :)
Date: 15 Dec 2004 08:10:44 -0000
From: "D. J. Bernstein" <firstname.lastname@example.org>
Subject: [remote] [control] LinPopUp 1.2.0 overflows sub_string buffer
To: email@example.com, firstname.lastname@example.org
X-HELOcheck: OK: FQDN
Mailing-List: contact email@example.com; run by ezmlm
Mail-Followup-To: firstname.lastname@example.org, email@example.com
Automatic-Legal-Notices: See http://cr.yp.to/mailcopyright.html.
[-- Attachment #1 [details] --]
[-- Type: text/plain, Encoding: 7bit, Size: 1.3K --]
Stephen Dranger, a student in my Fall 2004 UNIX Security Holes course,
has discovered a remotely exploitable security hole in LinPopUp, an
instant-messaging tool. I'm publishing this notice, but all the
discovery credits should be assigned to Dranger.
You are at risk if you use LinPopUp to reply to a message received from
the network or any other source that could be controlled by an attacker.
Whoever sent that message then has complete control over your account:
he can read and modify your files, watch the programs you're running,
Proof of concept: On an x86 computer running FreeBSD 4.10, as root, type
to download and compile the LinPopUp program, version 1.2.0 (current
FreeBSD ports version). Then, as any user, save the file 3.msg attached
to this message, and type
cat 3.msg >> /var/db/linpopup/messages.dat
to simulate receipt of 3.msg from the network. Then type
and click on Reply. Unauthorized result: a file named x is removed from
the current directory.
Here's the bug: In string.c, strexpand() uses strcpy() to copy from
replace_string, which can have as many as 100 bytes, to a 50-byte
---D. J. Bernstein, Associate Professor, Department of Mathematics,
Statistics, and Computer Science, University of Illinois at Chicago
Created attachment 46179 [details]
File 3.msg from advisory
mholzer since you have been dealing with the ebuild, can you verify/advise?
Also 1.2.0 should maybe be considered for removal from the tree.
Buffer overflow in the strexpand function in string.c for LinPopUp
1.2.0 allows remote attackers to execute arbitrary code via a crafted
message that is not properly handled during a Reply operation.
Created attachment 47207 [details, diff]
Patch from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=287044
This applies cleanly to our stable (2.0.2) version and probably others.
mholzer/vapier : could you please apply patch (probably to all versions) and bump ?
i dont know why you thought i could help, i'm not in the ChangeLog :P ... i'm not your security lacky you know !
version bumped to 2.0.4 and removed the older ebuilds ... x86 was the only one to have a stable version, amd64/ppc were added with 2.0.3, but as unstable
new 2.0.4 is marked x86 stable and amd64/ppc unstable
Thx vapier, you just signed yourself over to Security:P
vapier: 2.0.4 still needs patch applied. Could you please bump to -r1 ?
(I really should take time to read that quiz)
added 2.0.4-r1 to cvs with patch
Thx, really ready now. Draft submitted, security please review