From 91eba755167dc4e9fcb2e92e3fd5d11184afa0a944eb612329642c15bb901679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Thu, 1 Aug 2019 05:59:22 +0000 Subject: [PATCH 1/3] Accepting request 720110 from home:AndreasStieger:branches:security:tls libtasn1 4.14m with upstream fix for boo#1105435 CVE-2018-1000654 OBS-URL: https://build.opensuse.org/request/show/720110 OBS-URL: https://build.opensuse.org/package/show/security:tls/libtasn1?expand=0&rev=4 --- libtasn1-4.13.tar.gz | 3 - libtasn1-4.13.tar.gz.sig | 11 --- libtasn1-4.14.tar.gz | 3 + libtasn1-4.14.tar.gz.sig | 11 +++ libtasn1-object-id-recursion.patch | 122 ----------------------------- libtasn1.changes | 9 +++ libtasn1.spec | 23 +++--- 7 files changed, 32 insertions(+), 150 deletions(-) delete mode 100644 libtasn1-4.13.tar.gz delete mode 100644 libtasn1-4.13.tar.gz.sig create mode 100644 libtasn1-4.14.tar.gz create mode 100644 libtasn1-4.14.tar.gz.sig delete mode 100644 libtasn1-object-id-recursion.patch diff --git a/libtasn1-4.13.tar.gz b/libtasn1-4.13.tar.gz deleted file mode 100644 index ab443c5..0000000 --- a/libtasn1-4.13.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7e528e8c317ddd156230c4e31d082cd13e7ddeb7a54824be82632209550c8cca -size 1891703 diff --git a/libtasn1-4.13.tar.gz.sig b/libtasn1-4.13.tar.gz.sig deleted file mode 100644 index 006d806..0000000 --- a/libtasn1-4.13.tar.gz.sig +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQEzBAABCAAdFiEEqBLL/fzcTQvnoJMSnV6q9pATuEIFAlpeOtEACgkQnV6q9pAT -uEIWNAf/YnmT4u3ShAfhUKE4sIap+8ivG5AxCPw1Rwgwc8qcS2VKOVeiwYTWmt9t -g5CDrVu27DTPbCkdS7sTKrHQT3Pjc2DRJWHJbaHr5J717sNp50XWWXjNyZGrmyN4 -ais1d7no0GMXRsR6SUOFi+M52Q/vWhhYz4gaDAV9XSOqbJ6MPiw4BhjqyVSQ4lwD -Lfn4upk+1JFjzCpVft7iXrx1P4RXvFJC1sBYpUJAbdm9y0rO5jGiY7EHokDNq1rT -71hBWUclo37GsJnF65CRD1Mb5/wdZxm2wvEL/SFlHKqnY/uB3y4u7il91fi9zrwY -mDmVimu7E563pqum16000pybZIEmFw== -=LTAv ------END PGP SIGNATURE----- diff --git a/libtasn1-4.14.tar.gz b/libtasn1-4.14.tar.gz new file mode 100644 index 0000000..f52713f --- /dev/null +++ b/libtasn1-4.14.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e604ba5c5c8ea403487695c2e407405820d98540d9de884d6e844f9a9c5ba08 +size 1771184 diff --git a/libtasn1-4.14.tar.gz.sig b/libtasn1-4.14.tar.gz.sig new file mode 100644 index 0000000..be89069 --- /dev/null +++ b/libtasn1-4.14.tar.gz.sig @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCAAdFiEEWfu1XKfzqKsMUDdz2BxIh/FnmmUFAl03SokACgkQ2BxIh/Fn +mmWqpAgAoeGWiRn/Gp3kcxH5igYSbVPIK2ovLWrN4++zzrkrhNylMQeh/l/nVIjx +Wk2aZ3wka0jCez7lAjIUV3FrjczMqunK4wopG4SKKw3K8OSScOaYZIkONFE45HmY +xyYJnq5ePviy8oYfBczNSmyDqDeH1WQ5W/tpezlk9nbmEGqGT2Ic+DO2MeTzj0G+ +Z9s7pvyUAxRe0Rz0XJWQpSgyU+3nwppqasE1t+S7H/aNlFIBFCMfqET1n5hQAh/p +qRKBzOSLzn/DdDGthZRCIDEhgPBz0tJ+WKmXgyilEXOjYcSc1pH4PdsboS759KIK +zi07IvoeLbfwVVyFEpQ/QxkRwRBoBg== +=+Jqp +-----END PGP SIGNATURE----- diff --git a/libtasn1-object-id-recursion.patch b/libtasn1-object-id-recursion.patch deleted file mode 100644 index 58459b8..0000000 --- a/libtasn1-object-id-recursion.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 9c40f7796c9d33179b602f65f4b587d175fba23c Mon Sep 17 00:00:00 2001 -From: Mike Gorse -Date: Thu, 11 Apr 2019 11:14:58 -0500 -Subject: [PATCH 1/2] _asn1_expand_object_id: Limit recursion - -Resolves #4 ---- - lib/parser_aux.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/lib/parser_aux.c b/lib/parser_aux.c -index 786ea64..08c2167 100644 ---- a/lib/parser_aux.c -+++ b/lib/parser_aux.c -@@ -675,7 +675,7 @@ _asn1_expand_object_id (asn1_node node) - { - asn1_node p, p2, p3, p4, p5; - char name_root[ASN1_MAX_NAME_SIZE], name2[2 * ASN1_MAX_NAME_SIZE + 1]; -- int move, tlen; -+ int move, tlen, tries; - - if (node == NULL) - return ASN1_ELEMENT_NOT_FOUND; -@@ -684,6 +684,7 @@ _asn1_expand_object_id (asn1_node node) - - p = node; - move = DOWN; -+ tries = 0; - - while (!((p == node) && (move == UP))) - { -@@ -738,7 +739,9 @@ _asn1_expand_object_id (asn1_node node) - p4 = p4->right; - } - move = DOWN; -- continue; -+ tries++; -+ if (tries < 3) -+ continue; - } - } - } -@@ -747,6 +750,7 @@ _asn1_expand_object_id (asn1_node node) - else - move = RIGHT; - -+ tries = 0; - if (move == DOWN) - { - if (p->down) --- -From 57d6bc19d44b0693023031c6dbc0d21a36550f34 Mon Sep 17 00:00:00 2001 -From: Mike Gorse -Date: Thu, 25 Apr 2019 16:40:18 -0500 -Subject: [PATCH 2/2] Add reproducer for issues/4 to Test_tree.asn - ---- - tests/Test_tree.asn | 9 +++++++++ - tests/Test_tree_asn1_tab.c | 13 +++++++++++-- - 2 files changed, 20 insertions(+), 2 deletions(-) - -diff --git a/tests/Test_tree.asn b/tests/Test_tree.asn -index 0ad0dc5..a253bc8 100644 ---- a/tests/Test_tree.asn -+++ b/tests/Test_tree.asn -@@ -154,6 +154,15 @@ X520LocalityName ::= CHOICE { - bmpString BMPString } - - -+id-xnyTest OBJECT IDENTIFIER ::= {id-ix 29 1} -+id-ix OBJECR ::= {id-ix 29 2} -+BMPString ::= OCTET S -+} -+UniversalString : BY id O} -+id-ix OBJECT IDENTIFIER ::= {2 5} -+id-xnyTest OBJECT IDENTIFIER ::= {id-ix 29 1} -+anyTest2 ::= INTEGER -+ - id-Test OBJECT IDENTIFIER ::= {1 2 29 2} - - END -diff --git a/tests/Test_tree_asn1_tab.c b/tests/Test_tree_asn1_tab.c -index 7869f85..0f211c8 100644 ---- a/tests/Test_tree_asn1_tab.c -+++ b/tests/Test_tree_asn1_tab.c -@@ -68,7 +68,7 @@ const asn1_static_node Test_tree_asn1_tab[] = { - { "set", 1610612751, NULL }, - { NULL, 3, NULL }, - { "oid", 1073741836, NULL }, -- { "time2", 1082130449, NULL }, -+ { "time2", 1073741861, NULL }, - { "bol", 1073741828, NULL }, - { "oct", 1073741831, NULL }, - { "bit", 1073758214, NULL }, -@@ -81,7 +81,7 @@ const asn1_static_node Test_tree_asn1_tab[] = { - { "any", 1610637325, NULL }, - { NULL, 4104, "1"}, - { "gen", 1073758235, NULL }, -- { "time1", 16777233, NULL }, -+ { "time1", 36, NULL }, - { "SequenceTestTag", 1610612741, NULL }, - { "int1", 1610620931, NULL }, - { NULL, 2056, "2"}, -@@ -160,6 +160,15 @@ const asn1_static_node Test_tree_asn1_tab[] = { - { "universalString", 1073741856, NULL }, - { "utf8String", 1073741858, NULL }, - { "bmpString", 33, NULL }, -+ { "id-xnyTest", 1879048204, NULL }, -+ { NULL, 1073741825, "id-ix"}, -+ { NULL, 1073741825, "29"}, -+ { NULL, 1, "1"}, -+ { "id-ix", 1880096780, "OBJECR"}, -+ { NULL, 1073741825, "id-ix"}, -+ { NULL, 1073741825, "29"}, -+ { NULL, 1, "2"}, -+ { "BMPString", 1073741827, NULL }, - { "id-Test", 805306380, NULL }, - { NULL, 1073741825, "1"}, - { NULL, 1073741825, "2"}, --- -2.20.1 - diff --git a/libtasn1.changes b/libtasn1.changes index ddc900c..0e41747 100644 --- a/libtasn1.changes +++ b/libtasn1.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Jul 31 20:15:25 UTC 2019 - Andreas Stieger + +- libtasn1 4.14: + * New #defines for version checking + * other developer visible changes +- drop libtasn1-object-id-recursion.patch, incorporating the + upstream fix for boo#1105435 CVE-2018-1000654 + ------------------------------------------------------------------- Mon Apr 29 16:13:16 UTC 2019 - mgorse@suse.com diff --git a/libtasn1.spec b/libtasn1.spec index 448c814..0cfaaca 100644 --- a/libtasn1.spec +++ b/libtasn1.spec @@ -18,24 +18,21 @@ %define somajor 6 Name: libtasn1 -Version: 4.13 +Version: 4.14 Release: 0 Summary: ASN.1 parsing library License: LGPL-2.1-or-later AND GPL-3.0-only Group: Productivity/Networking/Security -Url: https://www.gnu.org/software/libtasn1/ +URL: https://www.gnu.org/software/libtasn1/ Source0: http://ftp.gnu.org/gnu/libtasn1/%{name}-%{version}.tar.gz Source1: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz.sig # http://josefsson.org/key.txt Source2: %{name}.keyring Source99: baselibs.conf -# PATCH-FIX-UPSTREAM libtasn1-object-id-recursion.patch boo#1105435 mgorse@suse.com -- limit recursion in _asn1_expand_object_id. -Patch0: libtasn1-object-id-recursion.patch BuildRequires: info BuildRequires: pkgconfig Requires(post): %{install_info_prereq} Requires(preun): %{install_info_prereq} -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description This is the ASN.1 library used by GNUTLS. More up to date information @@ -64,7 +61,6 @@ http://www.gnutls.org %prep %setup -q -%patch0 -p1 %build %configure --disable-static @@ -87,22 +83,21 @@ make %{?_smp_mflags} check %postun -n libtasn1-%{somajor} -p /sbin/ldconfig %files -%defattr(-, root, root) -%license COPYING.LIB -%doc NEWS README THANKS +%license doc/COPYING* +%doc NEWS README.md THANKS %{_bindir}/* -%{_mandir}/man1/*.1%{ext_man} -%{_infodir}/*.info%{ext_info} +%{_mandir}/man1/*.1%{?ext_man} +%{_infodir}/*.info%{?ext_info} %files -n libtasn1-%{somajor} -%defattr(-, root, root) +%license doc/COPYING* %{_libdir}/*.so.%{somajor}* %files devel -%defattr(-, root, root) +%license doc/COPYING* %{_includedir}/*.h %{_libdir}/*.so %{_libdir}/pkgconfig/libtasn1.pc -%{_mandir}/man3/*.3%{ext_man} +%{_mandir}/man3/*.3%{?ext_man} %changelog From 69a82a3748969c36a4ad5a345ef67def0aee17d2fb9ec400ecfaa2df54c6f3c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Thu, 1 Aug 2019 07:50:32 +0000 Subject: [PATCH 2/3] Accepting request 720146 from home:AndreasStieger:branches:security:tls fix factory submission OBS-URL: https://build.opensuse.org/request/show/720146 OBS-URL: https://build.opensuse.org/package/show/security:tls/libtasn1?expand=0&rev=5 --- libtasn1.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libtasn1.spec b/libtasn1.spec index 0cfaaca..2e3534c 100644 --- a/libtasn1.spec +++ b/libtasn1.spec @@ -25,7 +25,7 @@ License: LGPL-2.1-or-later AND GPL-3.0-only Group: Productivity/Networking/Security URL: https://www.gnu.org/software/libtasn1/ Source0: http://ftp.gnu.org/gnu/libtasn1/%{name}-%{version}.tar.gz -Source1: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz.sig +Source1: http://ftp.gnu.org/gnu/libtasn1/%{name}-%{version}.tar.gz.sig # http://josefsson.org/key.txt Source2: %{name}.keyring Source99: baselibs.conf From a374facc0943a2d5effeb675705c4fe90d328800ae18e24d2603db4ac2339c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Thu, 1 Aug 2019 08:26:22 +0000 Subject: [PATCH 3/3] OBS-URL: https://build.opensuse.org/package/show/security:tls/libtasn1?expand=0&rev=6 --- libtasn1.keyring | 116 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) diff --git a/libtasn1.keyring b/libtasn1.keyring index 413e9fa..68165d0 100644 --- a/libtasn1.keyring +++ b/libtasn1.keyring @@ -1298,3 +1298,119 @@ oj8c9lhGHxihx5hdMqKJnMEv8SnxXx01fqE+TCKmSTOzHpWrO2TPnz9qzZOv4BaD RKd+AKc8zZkSX14v+TFiB4VkSBVxHDvDG4hDHw== =4uNW -----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +bEzaHpUMabzb+PkX+OGyTB2sZ84ucQ== +=gkW/ +-----END PGP PUBLIC KEY BLOCK-----