Bug 20121 - groovy and groovy18 new security issue CVE-2016-6814
Summary: groovy and groovy18 new security issue CVE-2016-6814
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Security (show other bugs)
Version: 6
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact: Sec team
URL: https://lwn.net/Vulnerabilities/712297/
Whiteboard: MGA5TOO MGA6-64-OK MGA5-64-OK advisory
Keywords: validated_update
Depends on:
Blocks:
 
Reported: 2017-01-14 20:18 CET by David Walser
Modified: 2017-08-26 22:36 CEST (History)
5 users (show)

See Also:
Source RPM: groovy-2.4.5-7.mga6.src.rpm
CVE:
Status comment:


Attachments

Description David Walser 2017-01-14 20:18:50 CET
Upstream has issued an advisory today (January 14):
http://openwall.com/lists/oss-security/2017/01/14/3

The issue is fixed upstream in 2.4.8.

Mageia 5 is also affected.
David Walser 2017-01-14 20:19:07 CET

CC: (none) => geiger.david68210
Whiteboard: (none) => MGA5TOO

Comment 1 David GEIGER 2017-01-16 17:47:20 CET
Fixed on Cauldron!

But for mga5 with our current groovy-1.8.9 seems that this CVE is not needed, it says:

* Unsupported Codehaus versions of Groovy from 1.7.0 to 2.4.3

And patch for CVE-2016-6814 conflicts with another/older patch: CVE-2015-3253 (already applied).
Comment 2 David Walser 2017-01-16 17:49:26 CET
Thanks for the fix in Cauldron.

For Mageia 5, I believe they were saying that versions 1.7.0 to 2.4.3 (which includes 1.8.9) *are* affected, but they're not supported, so they're not releasing fixes for those.  Hopefully RedHat or someone will backport it if we can't.

Version: Cauldron => 5
Whiteboard: MGA5TOO => (none)

Comment 3 David Walser 2017-01-24 02:39:49 CET
Fedora has issued an advisory for this on January 21:
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/GLUK73YU2ETK7USTPIIC4YQT3BYKGEOB/

URL: (none) => https://lwn.net/Vulnerabilities/712297/

Comment 4 David Walser 2017-08-17 13:36:12 CEST
RedHat has issued an advisory for this today (August 17):
https://access.redhat.com/errata/RHSA-2017:2486
Comment 5 David Walser 2017-08-18 14:01:54 CEST
groovy 1.8.9 is definitely affected, as Fedora is now issuing advisories for it.

Fedora has issued an advisory on August 17:
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/A5FSJEOEIYPZDGJRMEPJPMUMDN4MQQJI/

Unfortunately we also have this packaged in Mageia 6 as groovy18.

Version: 5 => Cauldron
Summary: groovy new security issue CVE-2016-6814 => groovy and groovy18 new security issue CVE-2016-6814
Whiteboard: (none) => MGA6TOO, MGA5TOO

Comment 6 Nicolas Lécureuil 2017-08-20 00:17:47 CEST
pushed in updates_testing
src.rpm:
        groovy18-1.8.9-26.1.mga6
        groovy-1.8.9-5.2.mga5

Assignee: mageia => qa-bugs

Nicolas Lécureuil 2017-08-20 00:19:44 CEST

Version: Cauldron => 6
Whiteboard: MGA6TOO, MGA5TOO => MGA5TOO
CC: (none) => mageia

Comment 7 David Walser 2017-08-20 00:45:32 CEST
Only Cauldron built successfully.

Assignee: qa-bugs => mageia

Nicolas Lécureuil 2017-08-20 01:00:43 CEST

Assignee: mageia => qa-bugs

Comment 8 David Walser 2017-08-20 02:08:21 CEST
Updated packages for Mageia 5:
groovy-1.8.9-5.2.mga5
groovy-lib-1.8.9-5.2.mga5
groovy-javadoc-1.8.9-5.2.mga5

from groovy-1.8.9-5.2.mga5.src.rpm

The Mageia 6 build doesn't appear to be going anywhere...

Whiteboard: MGA5TOO => MGA5TOO feedback

Comment 9 Nicolas Lécureuil 2017-08-20 09:54:53 CEST
mga6 build is finished too
Comment 10 David Walser 2017-08-20 15:06:10 CEST
Advisory:
========================

Updated groovy and groovy18 package fixes security vulnerability:

It was found that a flaw in Apache groovy library allows remote code execution
wherever deserialization occurs in the application. It is possible for an
attacker to craft a special serialized object that will execute code directly
when deserialized. All applications which rely on serialization and do not
isolate the code which deserializes objects are subject to this vulnerability
(CVE-2016-6814).

References:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6814
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/GLUK73YU2ETK7USTPIIC4YQT3BYKGEOB/
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/A5FSJEOEIYPZDGJRMEPJPMUMDN4MQQJI/
========================

Updated packages in core/updates_testing:
========================
groovy-1.8.9-5.2.mga5
groovy-lib-1.8.9-5.2.mga5
groovy-javadoc-1.8.9-5.2.mga5
groovy18-1.8.9-26.1.mga6
groovy18-lib-1.8.9-26.1.mga6
groovy18-javadoc-1.8.9-26.1.mga6

from SRPMS:
groovy-1.8.9-5.2.mga5.src.rpm
groovy18-1.8.9-26.1.mga6.src.rpm

Whiteboard: MGA5TOO feedback => MGA5TOO

Comment 11 Len Lawrence 2017-08-25 20:32:31 CEST
mga6  x86_64

I have not been able to figure out any way to connect this with Apache or
deserialization or anything and there are no reproducers available so all we can do is
ensure that the language still works at the commandline level. 

Installed the groovy18 packages from core/updates testing.

Tutorial at https://www.pegasoft.ca/docs/groovy.html

Tried out a few totally trivial scripts:
--------------------------------------------------------------------------------------
// File hello.gvy
class Foo {
   int i = 2;
   void print_i( ) {
      println "The value of i is " + i;
   }
}
Foo f = new Foo( );
f.print_i( );
--------------------------------------------------------------------------------------
// File: hash.groovy
applecart = [ "Bramley":11, "GrannySmith":22, "OrangePippin":28, "GoldenDelicious":15 ];
println "The applecart map looks like this: " + applecart;
println "The class of the map is " + applecart.getClass( );
println "The size of the map is " + applecart.size( );
println "The size of an empty map is " + [:].size( );
grannysmiths = applecart['GrannySmith']
println "The number of Granny Smiths is $grannysmiths";
applecart["OrangePippin"] = 24;
println "There are " + applecart["OrangePippin"] + " OrangePippins left";
println "Peaches there are " + applecart["peach"];

def fruit = applecart['Bramley']

if ( fruit ==~ /^[A-Z].*/ ) {
   println "Looks like these might be apples"
} else {
   println "Cannot be apples"
}
--------------------------------------------------------------------------------------
// File closures.gvy
// Closures

def some_function = { 2 * 2 }

println some_function
println some_function()

some_function = { 2 * it }  // it is a parameter
println some_function( 3 )
--------------------------------------------------------------------------------------
$ groovy hello.gvy
The value of i is 2

$ groovy hash.groovy
The applecart map looks like this: [Bramley:11, GrannySmith:22, OrangePippin:28, GoldenDelicious:15]
The class of the map is class java.util.LinkedHashMap
The size of the map is 4
The size of an empty map is 0
The number of Granny Smiths is 22
There are 24 OrangePippins left
Peaches there are null
Cannot be apples

$ groovy closures.gvy
closures$_run_closure1@d4342c2
4
6

These all look OK although the negative result of the regular expression check gives
cause for concern.  That was the same in the tutorial.

At this primitive level the software works.

CC: (none) => tarazed25

Len Lawrence 2017-08-26 00:11:50 CEST

Whiteboard: MGA5TOO => MGA5TOO MGA6-64-OK

Comment 12 Len Lawrence 2017-08-26 00:54:21 CEST
mga5  x86_64

Installed the updates then tested the set of short scripts that were reported in comment 11.  All three yielded the same results but also complained about  the java setup, which should be ignored.

"/usr/bin/build-classpath: Could not find jsp Java extension for this JVM
/usr/bin/build-classpath: error: Some specified jars were not found"

Giving this a pass.
Len Lawrence 2017-08-26 00:54:36 CEST

Whiteboard: MGA5TOO MGA6-64-OK => MGA5TOO MGA6-64-OK MGA5-64-OK

Comment 13 Lewis Smith 2017-08-26 22:01:34 CEST
Advisory from Comment 10. Also validating, tested both releases.

CC: (none) => lewyssmith
Whiteboard: MGA5TOO MGA6-64-OK MGA5-64-OK => MGA5TOO MGA6-64-OK MGA5-64-OK advisory

Lewis Smith 2017-08-26 22:02:43 CEST

Keywords: (none) => validated_update
CC: (none) => sysadmin-bugs

Comment 14 Mageia Robot 2017-08-26 22:36:15 CEST
An update for this issue has been pushed to the Mageia Updates repository.

http://advisories.mageia.org/MGASA-2017-0311.html

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.