Bug 1015499 - (CVE-2016-9574) VUL-0: CVE-2016-9574: mozilla-nss: Remote DoS during session handshake when using SessionTicket extention and ECDHE-ECDSA
(CVE-2016-9574)
VUL-0: CVE-2016-9574: mozilla-nss: Remote DoS during session handshake when u...
Status: RESOLVED FIXED
Classification: Novell Products
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents
unspecified
Other Other
: P3 - Medium : Major
: ---
Assigned To: Petr Cerny
Security Team bot
https://smash.suse.de/issue/177585/
CVSSv2:SUSE:CVE-2016-9574:4.3:(AV:N/A...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-12-14 10:26 UTC by Marcus Meissner
Modified: 2020-06-13 04:57 UTC (History)
6 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marcus Meissner 2016-12-14 10:26:02 UTC
A denial of service flaw was found in the way NSS handled handshake packets when SessionTicket extension was enabled on the TLS server side and ECDSA certificates were used. A remote attacker could use this flaw to crash TLS servers compiled against NSS.

More details and reproducer available at:

https://bugzilla.mozilla.org/show_bug.cgi?id=1320695

References:
https://bugzilla.redhat.com/show_bug.cgi?id=1404568
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-9574
Comment 1 Marcus Meissner 2016-12-14 10:28:02 UTC
QA RERPRODUCER:

NSS_CIPHER="C00A"
OPENSSL_CIPHER="ECDHE-ECDSA-AES256-SHA"
ulimit -c unlimited
openssl ecparam -genkey -name prime256v1 -out ec.key
openssl req -new -x509 -key ec.key -out ec-cert.pem -days 3650 -subj "/CN=localhost" -nodes
openssl pkcs12 -name ec -export -inkey ec.key -out ec.p12 -in ec-cert.pem -passout "pass:"
mkdir nssdb
certutil -N --empty-password -d sql:./nssdb
certutil -A -d sql:./nssdb/ -n ec -t ',,' -a -i ec-cert.pem
pk12util -i ec.p12 -d sql:./nssdb -W ''
/usr/lib64/nss/unsupported-tools/selfserv -d sql:./nssdb/ -p 4433 -V tls1.0: -H 1 -e ec -c :$NSS_CIPHER -u &>server.log &
sleep 3
openssl s_client -connect localhost:4433 -CAfile ec-cert.pem -cipher $OPENSSL_CIPHER -sess_out sess.pem 2>>client_err.log >>client_out.log < /dev/null
openssl s_client -connect localhost:4433 -CAfile ec-cert.pem -cipher $OPENSSL_CIPHER -sess_out sess.pem 2>>client_err.log >>client_out.log < /dev/null


Actual results:

# cat client_err.log 
depth=0 CN = localhost
verify return:1
139942008751992:error:140790E5:SSL routines:ssl23_write:ssl handshake failure:s23_lib.c:177:
depth=0 CN = localhost
verify return:1
139640958179192:error:140790E5:SSL routines:ssl23_write:ssl handshake failure:s23_lib.c:177:

# cat server.log 
selfserv: HDX PR_Read returned error 0:
Success
selfserv: HDX PR_Read returned error -5925:
The one-time function was previously called and failed. Its error code is no longer available


Expected results:

Handshake should not fail and selfserv should be able to handle following connections.

Example using SessionID:
# NSS_CIPHER="C00A"
# OPENSSL_CIPHER="ECDHE-ECDSA-AES256-SHA"
# ulimit -c unlimited
# openssl ecparam -genkey -name prime256v1 -out ec.key
# openssl req -new -x509 -key ec.key -out ec-cert.pem -days 3650 -subj "/CN=localhost" -nodes
# openssl pkcs12 -name ec -export -inkey ec.key -out ec.p12 -in ec-cert.pem -passout "pass:"
# mkdir nssdb
# certutil -N --empty-password -d sql:./nssdb
# certutil -A -d sql:./nssdb/ -n ec -t ',,' -a -i ec-cert.pem
# pk12util -i ec.p12 -d sql:./nssdb -W ''
# /usr/lib64/nss/unsupported-tools/selfserv -d sql:./nssdb/ -p 4433 -V tls1.0: -H 1 -e ec -c :$NSS_CIPHER &>server.log &
# sleep 3
# openssl s_client -connect localhost:4433 -CAfile ec-cert.pem -cipher $OPENSSL_CIPHER -sess_out sess.pem -no_ticket 2>>client_err.log >>client_out.log < /dev/null
# openssl s_client -connect localhost:4433 -CAfile ec-cert.pem -cipher $OPENSSL_CIPHER -sess_out sess.pem -no_ticket 2>>client_err.log >>client_out.log < /dev/null

## RESULTS:
# cat server.log

# cat client_err.log 
depth=0 CN = localhost
verify return:1
DONE
depth=0 CN = localhost
verify return:1
DONE
Comment 2 Swamp Workflow Management 2016-12-14 23:00:18 UTC
bugbot adjusting priority
Comment 3 Marcus Meissner 2017-04-12 19:15:47 UTC
Patch is in the mozilla bug

https://hg.mozilla.org/projects/nss/rev/81305956dc4a715c38b759b5eaeae52d4506a121

Please resubmit your mozilla-nss with it
Comment 4 Bernhard Wiedemann 2017-04-12 22:01:21 UTC
This is an autogenerated message for OBS integration:
This bug (1015499) was mentioned in
https://build.opensuse.org/request/show/487715 Factory / mozilla-nss
Comment 7 Marcus Meissner 2017-04-21 09:58:20 UTC
In which NSS release was this fixed?
Comment 8 Wolfgang Rosenauer 2017-04-21 11:22:34 UTC
It was fixed in 3.30 upstream but we have a backport of the fix in Factory (3.29.5) and also in last update for 42.1 and 42.2 (3.28.4)
Comment 9 Swamp Workflow Management 2017-04-21 13:16:41 UTC
openSUSE-SU-2017:1088-1: An update that solves one vulnerability and has one errata is now available.

Category: security (moderate)
Bug References: 1015499,1030071
CVE References: CVE-2016-9574
Sources used:
openSUSE Leap 42.2 (src):    java-1_8_0-openjdk-1.8.0.121-10.2.1, mozilla-nss-3.28.4-40.3.1
openSUSE Leap 42.1 (src):    java-1_8_0-openjdk-1.8.0.121-25.1, mozilla-nss-3.28.4-41.1
Comment 15 Swamp Workflow Management 2017-05-04 13:14:09 UTC
SUSE-SU-2017:1175-1: An update that fixes 29 vulnerabilities is now available.

Category: security (important)
Bug References: 1015499,1015547,1021636,1030071,1035082,983639
CVE References: CVE-2016-1950,CVE-2016-2834,CVE-2016-8635,CVE-2016-9574,CVE-2017-5429,CVE-2017-5432,CVE-2017-5433,CVE-2017-5434,CVE-2017-5435,CVE-2017-5436,CVE-2017-5437,CVE-2017-5438,CVE-2017-5439,CVE-2017-5440,CVE-2017-5441,CVE-2017-5442,CVE-2017-5443,CVE-2017-5444,CVE-2017-5445,CVE-2017-5446,CVE-2017-5447,CVE-2017-5448,CVE-2017-5459,CVE-2017-5460,CVE-2017-5461,CVE-2017-5462,CVE-2017-5464,CVE-2017-5465,CVE-2017-5469
Sources used:
SUSE OpenStack Cloud 5 (src):    MozillaFirefox-45.9.0esr-71.2, mozilla-nspr-4.13.1-32.1, mozilla-nss-3.29.5-46.1
SUSE Manager Proxy 2.1 (src):    MozillaFirefox-45.9.0esr-71.2, mozilla-nspr-4.13.1-32.1, mozilla-nss-3.29.5-46.1
SUSE Manager 2.1 (src):    MozillaFirefox-45.9.0esr-71.2, mozilla-nspr-4.13.1-32.1, mozilla-nss-3.29.5-46.1
SUSE Linux Enterprise Software Development Kit 11-SP4 (src):    MozillaFirefox-45.9.0esr-71.2, mozilla-nspr-4.13.1-32.1, mozilla-nss-3.29.5-46.1
SUSE Linux Enterprise Server 11-SP4 (src):    MozillaFirefox-45.9.0esr-71.2, mozilla-nspr-4.13.1-32.1, mozilla-nss-3.29.5-46.1
SUSE Linux Enterprise Server 11-SP3-LTSS (src):    MozillaFirefox-45.9.0esr-71.2, mozilla-nspr-4.13.1-32.1, mozilla-nss-3.29.5-46.1
SUSE Linux Enterprise Point of Sale 11-SP3 (src):    MozillaFirefox-45.9.0esr-71.2, mozilla-nspr-4.13.1-32.1, mozilla-nss-3.29.5-46.1
SUSE Linux Enterprise Debuginfo 11-SP4 (src):    MozillaFirefox-45.9.0esr-71.2, mozilla-nspr-4.13.1-32.1, mozilla-nss-3.29.5-46.1
SUSE Linux Enterprise Debuginfo 11-SP3 (src):    MozillaFirefox-45.9.0esr-71.2, mozilla-nspr-4.13.1-32.1, mozilla-nss-3.29.5-46.1
Comment 16 Swamp Workflow Management 2017-05-11 19:15:16 UTC
SUSE-SU-2017:1248-1: An update that fixes 29 vulnerabilities is now available.

Category: security (important)
Bug References: 1015499,1015547,1021636,1026102,1030071,1035082,983639
CVE References: CVE-2016-1950,CVE-2016-2834,CVE-2016-8635,CVE-2016-9574,CVE-2017-5429,CVE-2017-5432,CVE-2017-5433,CVE-2017-5434,CVE-2017-5435,CVE-2017-5436,CVE-2017-5437,CVE-2017-5438,CVE-2017-5439,CVE-2017-5440,CVE-2017-5441,CVE-2017-5442,CVE-2017-5443,CVE-2017-5444,CVE-2017-5445,CVE-2017-5446,CVE-2017-5447,CVE-2017-5448,CVE-2017-5459,CVE-2017-5460,CVE-2017-5461,CVE-2017-5462,CVE-2017-5464,CVE-2017-5465,CVE-2017-5469
Sources used:
SUSE Linux Enterprise Software Development Kit 12-SP2 (src):    MozillaFirefox-45.9.0esr-105.1, mozilla-nspr-4.13.1-18.1, mozilla-nss-3.29.5-57.1
SUSE Linux Enterprise Software Development Kit 12-SP1 (src):    MozillaFirefox-45.9.0esr-105.1, mozilla-nspr-4.13.1-18.1, mozilla-nss-3.29.5-57.1
SUSE Linux Enterprise Server for SAP 12 (src):    MozillaFirefox-45.9.0esr-105.1, mozilla-nspr-4.13.1-18.1, mozilla-nss-3.29.5-57.1
SUSE Linux Enterprise Server for Raspberry Pi 12-SP2 (src):    MozillaFirefox-45.9.0esr-105.1, java-1_8_0-openjdk-1.8.0.121-23.4, mozilla-nspr-4.13.1-18.1, mozilla-nss-3.29.5-57.1
SUSE Linux Enterprise Server 12-SP2 (src):    MozillaFirefox-45.9.0esr-105.1, java-1_8_0-openjdk-1.8.0.121-23.4, mozilla-nspr-4.13.1-18.1, mozilla-nss-3.29.5-57.1
SUSE Linux Enterprise Server 12-SP1 (src):    MozillaFirefox-45.9.0esr-105.1, java-1_8_0-openjdk-1.8.0.121-23.4, mozilla-nspr-4.13.1-18.1, mozilla-nss-3.29.5-57.1
SUSE Linux Enterprise Server 12-LTSS (src):    MozillaFirefox-45.9.0esr-105.1, mozilla-nspr-4.13.1-18.1, mozilla-nss-3.29.5-57.1
SUSE Linux Enterprise Desktop 12-SP2 (src):    MozillaFirefox-45.9.0esr-105.1, java-1_8_0-openjdk-1.8.0.121-23.4, mozilla-nspr-4.13.1-18.1, mozilla-nss-3.29.5-57.1
SUSE Linux Enterprise Desktop 12-SP1 (src):    MozillaFirefox-45.9.0esr-105.1, java-1_8_0-openjdk-1.8.0.121-23.4, mozilla-nspr-4.13.1-18.1, mozilla-nss-3.29.5-57.1
Comment 17 Marcus Meissner 2017-10-24 13:13:47 UTC
released