Bug 1388392 (CVE-2016-8625)

Summary: CVE-2016-8625 curl: IDNA 2003 makes curl use wrong host
Product: [Other] Security Response Reporter: Andrej Nemec <anemec>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: bmcclain, bodavis, cfergeau, csutherl, dbhole, dblechte, eedri, erik-fedora, gzaronik, hhorak, jclere, jorton, kanderso, kdudka, lgao, lsurette, luhliari, mbabacek, mgoldboi, michal.skrivanek, mike, mturk, myarboro, omajid, paul, rh-spice-bugs, rwagner, sardella, security-response-team, sherold, slawomir, srevivo, twalsh, weli, ykaul
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: curl 7.51.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-08 03:01:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1390896, 1390895    
Bug Blocks: 1388393    
Attachments:
Description Flags
Upstream patch none

Description Andrej Nemec 2016-10-25 08:41:12 UTC
When curl is built with libidn to handle International Domain Names (IDNA), it
translates them to puny code for DNS resolving using the IDNA 2003 standard,
while IDNA 2008 is the modern and up-to-date IDNA standard.

This misalignment causes problems with for example domains using the German ß
character (known as the Unicode Character 'LATIN SMALL LETTER SHARP S') which
is used at times in the .de TLD and is translated differently in the two IDNA
standards, leading to users potentially and unknowingly issuing network
transfer requests to the wrong host.

For example, `straße.de` is translated into `strasse.de` using IDNA 2003 but
is translated into `xn--strae-oqa.de` using IDNA 2008. Needless to say, those
host names could very well resolve to different addresses and be two
completely independent servers. IDNA 2008 is mandatory for .de domains.

curl is not alone with this problem, as there's currently a big flux in the
world of network user-agents about which IDNA version to support and use.

This name problem exists for DNS-using protocols in curl, but only when built
to use libidn.

External References:

https://curl.haxx.se/docs/adv_20161102K.html

Comment 1 Andrej Nemec 2016-10-25 10:17:36 UTC
Created attachment 1213820 [details]
Upstream patch

Comment 2 Adam Mariš 2016-11-02 08:30:09 UTC
Created curl tracking bugs for this issue:

Affects: fedora-all [bug 1390894]

Comment 3 Adam Mariš 2016-11-02 08:30:24 UTC
Created mingw-curl tracking bugs for this issue:

Affects: fedora-all [bug 1390895]
Affects: epel-7 [bug 1390896]

Comment 4 Kamil Dudka 2016-11-02 14:16:37 UTC
I will postpone putting the upstream fix to stable Fedora because it does not seem to be fully ready.  Some upstream test-cases started to fail after the switch to libidn2:

http://pkgs.fedoraproject.org/cgit/rpms/curl.git/commit/?id=c8e19229

... and there is an ongoing discussion upstream whether the patched version of libcurl works as expected:

https://curl.haxx.se/mail/lib-2016-11/0033.html

Comment 5 Andrej Nemec 2016-11-04 11:21:20 UTC
(In reply to Kamil Dudka from comment #4)
> I will postpone putting the upstream fix to stable Fedora because it does
> not seem to be fully ready.  Some upstream test-cases started to fail after
> the switch to libidn2:
> 
> http://pkgs.fedoraproject.org/cgit/rpms/curl.git/commit/?id=c8e19229
> 
> ... and there is an ongoing discussion upstream whether the patched version
> of libcurl works as expected:
> 
> https://curl.haxx.se/mail/lib-2016-11/0033.html

This sounds like a good decision. Latest discussion on oss-security seems to head in the direction of disabling IDN completely.

http://seclists.org/oss-sec/2016/q4/333

Comment 8 errata-xmlrpc 2018-08-16 16:08:10 UTC
This issue has been addressed in the following products:

  Red Hat JBoss Core Services

Via RHSA-2018:2486 https://access.redhat.com/errata/RHSA-2018:2486

Comment 9 errata-xmlrpc 2018-11-13 08:34:04 UTC
This issue has been addressed in the following products:

  Red Hat Software Collections for Red Hat Enterprise Linux 6
  Red Hat Software Collections for Red Hat Enterprise Linux 7
  Red Hat Software Collections for Red Hat Enterprise Linux 7.4 EUS
  Red Hat Software Collections for Red Hat Enterprise Linux 7.5 EUS
  Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUS

Via RHSA-2018:3558 https://access.redhat.com/errata/RHSA-2018:3558