Hello community,

here is the log from the commit of package mysql-connector-java for 
openSUSE:Factory checked in at 2017-05-06 18:24:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mysql-connector-java (Old)
 and      /work/SRC/openSUSE:Factory/.mysql-connector-java.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mysql-connector-java"

Sat May  6 18:24:51 2017 rev:25 rq:492576 version:5.1.35

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/mysql-connector-java/mysql-connector-java.changes    
    2015-06-17 16:14:50.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.mysql-connector-java.new/mysql-connector-java.changes
   2017-05-06 18:24:52.307693352 +0200
@@ -1,0 +2,9 @@
+Tue May  2 15:20:16 UTC 2017 - [email protected]
+
+- Fix for CVE-2017-3523 (bsc#1035697)
+  * Unexpected automatic deserialisation of Java objects
+  * Affected software: MySQL Connector/J
+  * Remote Code Execution Vulnerability
+- Added patch: mysql-connector-java-5.1.35-CVE-2017-3523.patch
+
+-------------------------------------------------------------------

New:
----
  mysql-connector-java-5.1.35-CVE-2017-3523.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mysql-connector-java.spec ++++++
--- /var/tmp/diff_new_pack.Wpm0dx/_old  2017-05-06 18:24:53.163572582 +0200
+++ /var/tmp/diff_new_pack.Wpm0dx/_new  2017-05-06 18:24:53.171571454 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package mysql-connector-java
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -37,6 +37,9 @@
 Patch3:         mysql-connector-java-jdbc-4.1.patch
 # PATCH-FIX-UPSTREAM: do not lose classpath during tests build
 Patch4:         use-classpath-in-tests.patch
+# PATCH_FIX-UPSTREAM: CVE-2017-3523 Oracle MySQL <=5.1.40 Connector/J 
+# Remote Code Execution Vulnerability
+Patch5:         mysql-connector-java-5.1.35-CVE-2017-3523.patch
 BuildRequires:  ant
 BuildRequires:  ant-contrib
 BuildRequires:  apache-commons-logging
@@ -74,6 +77,7 @@
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
 
 # dup
 rm -f README

++++++ mysql-connector-java-5.1.35-CVE-2017-3523.patch ++++++
--- mysql-connector-java-5.1.35.orig/src/com/mysql/jdbc/ResultSetImpl.java
+++ mysql-connector-java-5.1.35/src/com/mysql/jdbc/ResultSetImpl.java
@@ -3436,27 +3436,26 @@ public class ResultSetImpl implements Re
                         byte[] data = getBytes(columnIndex);
                         Object obj = data;
 
-                        if ((data != null) && (data.length >= 2)) {
-                            if ((data[0] == -84) && (data[1] == -19)) {
-                                // Serialized object?
-                                try {
-                                    ByteArrayInputStream bytesIn = new 
ByteArrayInputStream(data);
-                                    ObjectInputStream objIn = new 
ObjectInputStream(bytesIn);
-                                    obj = objIn.readObject();
-                                    objIn.close();
-                                    bytesIn.close();
-                                } catch (ClassNotFoundException cnfe) {
-                                    throw SQLError.createSQLException(
-                                            
Messages.getString("ResultSet.Class_not_found___91") + cnfe.toString()
-                                                    + 
Messages.getString("ResultSet._while_reading_serialized_object_92"), 
getExceptionInterceptor());
-                                } catch (IOException ex) {
-                                    obj = data; // not serialized?
+                        if (this.connection.getAutoDeserialize()) {
+                           if ((data != null) && (data.length >= 2)) {
+                                if ((data[0] == -84) && (data[1] == -19)) {
+                                    // Serialized object?
+                                    try {
+                                        ByteArrayInputStream bytesIn = new 
ByteArrayInputStream(data);
+                                        ObjectInputStream objIn = new 
ObjectInputStream(bytesIn);
+                                        obj = objIn.readObject();
+                                        objIn.close();
+                                        bytesIn.close();
+                                    } catch (ClassNotFoundException cnfe) {
+                                        throw 
SQLError.createSQLException(Messages.getString("ResultSet.Class_not_found___91")
 + cnfe.toString()
+                                                + 
Messages.getString("ResultSet._while_reading_serialized_object_92"), 
getExceptionInterceptor());
+                                   } catch (IOException ex) {
+                                        obj = data; // not serialized?
+                                    }
                                 }
-                            }
-
-                            return obj.toString();
-                        }
-
+                               return obj.toString();
+                           }
+                       }
                         return extractStringFromNativeColumn(columnIndex, 
mysqlType);
                     }
 

Reply via email to