[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Security advisory, releases 0.13.2.1 and 0.14.1.1
- To: sup-devel <sup-devel@rubyforge.org>
- Subject: Re: Security advisory, releases 0.13.2.1 and 0.14.1.1
- From: Gaute Hope <eg@gaute.vetsj.com>
- Date: Wed, 30 Oct 2013 09:38:04 +0100
- In-reply-to: <1383043976-sup-2451@qwerzila>
- References: <1383043976-sup-2451@qwerzila>
- User-agent: Sup/git
Excerpts from Gaute Hope's message of 2013-10-29 11:54:58 +0100:
> Greetings,
>
> Security advisory (#SBU1) for Sup
>
> We have been notified of an potential exploit in the somewhat careless
> way Sup treats attachment metadata in received e-mails. The issues
> should now be fixed and I have released Sup 0.13.2.1 and 0.14.1.1 which
> incorporates these fixes. Please upgrade immediately and also ensure
> that your mime-decode or mime-view hooks are secure [0], [1].
>
> This is specifically related to using quotes (',") around filename or
> content_type which is already escaped using Ruby Shellwords.escape -
> this means that the string (content_type, filename) is intended to be
> used _without_ any further quotes. Please make sure that if you use
> .mailcap (non OSX systems), you do not quote the string.
>
> Credit goes to: joernchen of Phenoelit (http://phenoelit.de) who
> discovered and suggested fixes for these issues.
>
> [0] https://github.com/sup-heliotrope/sup/wiki/Viewing-Attachments
> [1] https://github.com/sup-heliotrope/sup/wiki/Secure-usage-of-Sup
>
> You can use 'gem' to upgrade or install sup. Please report any issues
> to: https://github.com/sup-heliotrope/sup/issues
>
> Regards, Gaute
For those interested; joernchens report at full-disclosure:
* http://seclists.org/fulldisclosure/2013/Oct/272
* http://seclists.org/fulldisclosure/2013/Oct/att-272/whatsup.txt (attached)
- gaute
Phenoelit Advisory <wir-haben-auch-mal-was-gefunden #0815 +-++->
[ Authors ]
joernchen <joernchen () phenoelit de>
Phenoelit Group (http://www.phenoelit.de)
[ Affected Products ]
sup <= 0.14.1 (on non Darwin systems)
sup <= 0.13.2 (on non Darwin systems)
http://supmua.org
[ Vendor communication ]
2013-10-28 Send vulnerability details to sup maintainer
2013-10-28 Maintainer proposes fix
2013-10-29 Sup 0.13.2.1 and 0.14.1.1 are released [1]
2013-10-29 Release of this advisory
[ Description ]
Observe in sup/lib/sup/message_chunks.rb:
def view_default! path
## please see note in write_to_disk on important usage
## of quotes to avoid remote command injection.
case RbConfig::CONFIG['arch']
when /darwin/
cmd = "open #{path}"
else
cmd = "/usr/bin/run-mailcap --action=view #{ () content_type}:#{path}"
end
debug "running: #{cmd.inspect}"
BufferManager.shell_out(cmd)
$? == 0
end
Here @content_type is attacker controlled and not further
sanitized. By this a forged content type of an email
attachment can trigger a command injection.
[ Example ]
For convenience the email delivering this file serves as an
example. When viewing this attachment in a vulnerable version
of sup the content type being "text/'`id>/tmp/whatsup`'pwn"
will generate a file "whatsup" in the /tmp directory.
[ Solution ]
Upgrade to version 0.14.1.1 or 0.13.2.1
[ References ]
[0] https://github.com/sup-heliotrope/sup/blob/916a354db8eb851bff6ff2e3f2e08727d132a8dc/lib/sup/message_chunks.rb#L175
[1] http://rubyforge.org/pipermail/sup-talk/2013-October/004996.html
[ end of file ]