Mailing List Archive

GIMP Scriptfu Python Remote Command Execution
Summary
=======

There is an arbitrary command execution vulnerability in the scriptfu
network server
console in the GIMP 2.6 branch. It is possible to use a python scriptfu
command to run
arbitrary operating-system commands and potentially take full control of the
host.

The advisory is posted here:
http://www.reactionpenetrationtesting.co.uk/GIMP-scriptfu-python-command-exe
cution.html

CVE number: CVE-2012-4245
Vendor homepage: http://www.gimp.org/
Vendor notified: 9/8/2012


Affected Products
=================

GIMP 2.6 branch (Windows or Linux builds)

Non-Affected Products
=====================

The Scriptfu network server component does not currently work in the GIMP
2.8 branch
(Windows or Linux builds).

Details
=======

There is an arbitrary command execution vulnerability in the scriptfu
network server
console in the GIMP 2.6 branch. It is possible to use a python scriptfu
command to run
arbitrary operating-system commands and potentially take full control of the
host.
The following command will write "foo" to "/tmp/owned":

(python-fu-eval 0 "file = open('/tmp/owned','w')\nfile.write('foo')")


Impact
======

Successful exploitation of the vulnerability may result in remote command
execution.

Solution
===========
No solution has been implemented at this stage apart from the workaround
below.

Workaround
===========

Do not enable the scriptfu network server.
The GIMP development team have stated that this component was not designed
with security
in mind and therefore should not be used in production environments.

Distribution
============

In addition to posting on the website, a text version of this notice
is posted to the following e-mail and Usenet news recipients.

* bugtraq () securityfocus com
* full-disclosure () lists grok org uk

Future updates of this advisory, if any, will be placed on the ReactionIS
corporate website, but may or may not be actively announced on
mailing lists or newsgroups. Users concerned about this problem are
encouraged to check the URL below for any updates:

http://www.reactionpenetrationtesting.co.uk/GIMP-scriptfu-python-command-exe
cution.html

============================================================================
====



_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/
Re: GIMP Scriptfu Python Remote Command Execution [ In reply to ]
Where exactly is the vulnerability here? I am unable to see it myself, it
appears that you are using an eval function to evaluate code which isn't
exactly a security issue.

2012/8/17 research <research@reactionis.co.uk>

> Summary
> =======
>
> There is an arbitrary command execution vulnerability in the scriptfu
> network server
> console in the GIMP 2.6 branch. It is possible to use a python scriptfu
> command to run
> arbitrary operating-system commands and potentially take full control of
> the
> host.
>
> The advisory is posted here:
>
> http://www.reactionpenetrationtesting.co.uk/GIMP-scriptfu-python-command-exe
> cution.html
>
> CVE number: CVE-2012-4245
> Vendor homepage: http://www.gimp.org/
> Vendor notified: 9/8/2012
>
>
> Affected Products
> =================
>
> GIMP 2.6 branch (Windows or Linux builds)
>
> Non-Affected Products
> =====================
>
> The Scriptfu network server component does not currently work in the GIMP
> 2.8 branch
> (Windows or Linux builds).
>
> Details
> =======
>
> There is an arbitrary command execution vulnerability in the scriptfu
> network server
> console in the GIMP 2.6 branch. It is possible to use a python scriptfu
> command to run
> arbitrary operating-system commands and potentially take full control of
> the
> host.
> The following command will write "foo" to "/tmp/owned":
>
> (python-fu-eval 0 "file = open('/tmp/owned','w')\nfile.write('foo')")
>
>
> Impact
> ======
>
> Successful exploitation of the vulnerability may result in remote command
> execution.
>
> Solution
> ===========
> No solution has been implemented at this stage apart from the workaround
> below.
>
> Workaround
> ===========
>
> Do not enable the scriptfu network server.
> The GIMP development team have stated that this component was not designed
> with security
> in mind and therefore should not be used in production environments.
>
> Distribution
> ============
>
> In addition to posting on the website, a text version of this notice
> is posted to the following e-mail and Usenet news recipients.
>
> * bugtraq () securityfocus com
> * full-disclosure () lists grok org uk
>
> Future updates of this advisory, if any, will be placed on the ReactionIS
> corporate website, but may or may not be actively announced on
> mailing lists or newsgroups. Users concerned about this problem are
> encouraged to check the URL below for any updates:
>
>
> http://www.reactionpenetrationtesting.co.uk/GIMP-scriptfu-python-command-exe
> cution.html
>
>
> ============================================================================
> ====
>
>
>
> _______________________________________________
> Full-Disclosure - We believe in it.
> Charter: http://lists.grok.org.uk/full-disclosure-charter.html
> Hosted and sponsored by Secunia - http://secunia.com/
>
Re: GIMP Scriptfu Python Remote Command Execution [ In reply to ]
On 17/08/2012 11:26, Julius Kivimäki wrote:
> Where exactly is the vulnerability here? I am unable to see it myself,
> it appears that you are using an eval function to evaluate code which
> isn't exactly a security issue.
>
The vulnerability appears to lie that this script-fu server just opens a
TCP port, un-authenticated and un-encrypted and allows execution to run
in the context of the server.

As mentioned, the GIMP Dev team say it is a feature that wasn't designed
with security in mind, so if you were to use it, you would be advised to
wrap it.

--
Regards,

Giles Coochey, CCNA, CCNAS
NetSecSpec Ltd
+44 (0) 7983 877438
http://www.coochey.net
http://www.netsecspec.co.uk
giles@coochey.net
Re: GIMP Scriptfu Python Remote Command Execution [ In reply to ]
The scriptfu network server (when enabled) does not require authentication
and will run commands from anyone that can connect to its tcp port (usually
10008).



From: Julius Kivimäki [mailto:julius.kivimaki@gmail.com]
Sent: 17 August 2012 11:26
To: research
Cc: full-disclosure; bugtraq; secalert@securityreason.com;
bugs@securitytracker.com; vuln; vuln@security.nnov.ru; news@securiteam.com;
moderators@osvdb.org; submissions@packetstormsecurity.org;
submit@cxsecurity.com; oss-security@lists.openwall.com
Subject: Re: [Full-disclosure] GIMP Scriptfu Python Remote Command Execution



Where exactly is the vulnerability here? I am unable to see it myself, it
appears that you are using an eval function to evaluate code which isn't
exactly a security issue.

2012/8/17 research <research@reactionis.co.uk>

Summary
=======

There is an arbitrary command execution vulnerability in the scriptfu
network server
console in the GIMP 2.6 branch. It is possible to use a python scriptfu
command to run
arbitrary operating-system commands and potentially take full control of the
host.

The advisory is posted here:
http://www.reactionpenetrationtesting.co.uk/GIMP-scriptfu-python-command-exe
<http://www.reactionpenetrationtesting.co.uk/GIMP-scriptfu-python-command-ex
e%0d%0acution.html>
cution.html

CVE number: CVE-2012-4245
Vendor homepage: http://www.gimp.org/
Vendor notified: 9/8/2012


Affected Products
=================

GIMP 2.6 branch (Windows or Linux builds)

Non-Affected Products
=====================

The Scriptfu network server component does not currently work in the GIMP
2.8 branch
(Windows or Linux builds).

Details
=======

There is an arbitrary command execution vulnerability in the scriptfu
network server
console in the GIMP 2.6 branch. It is possible to use a python scriptfu
command to run
arbitrary operating-system commands and potentially take full control of the
host.
The following command will write "foo" to "/tmp/owned":

(python-fu-eval 0 "file = open('/tmp/owned','w')\nfile.write('foo')")


Impact
======

Successful exploitation of the vulnerability may result in remote command
execution.

Solution
===========
No solution has been implemented at this stage apart from the workaround
below.

Workaround
===========

Do not enable the scriptfu network server.
The GIMP development team have stated that this component was not designed
with security
in mind and therefore should not be used in production environments.

Distribution
============

In addition to posting on the website, a text version of this notice
is posted to the following e-mail and Usenet news recipients.

* bugtraq () securityfocus com
* full-disclosure () lists grok org uk

Future updates of this advisory, if any, will be placed on the ReactionIS
corporate website, but may or may not be actively announced on
mailing lists or newsgroups. Users concerned about this problem are
encouraged to check the URL below for any updates:

http://www.reactionpenetrationtesting.co.uk/GIMP-scriptfu-python-command-exe
<http://www.reactionpenetrationtesting.co.uk/GIMP-scriptfu-python-command-ex
e%0d%0acution.html>
cution.html

============================================================================
====



_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/