New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 833138 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 3
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , iOS , Chrome , Mac , Fuchsia
Pri: 2
Type: Bug-Security
Team-Security-UX



Sign in to add a comment

Consider blocking U+0307 after other i-like characters (e.g. U+1EC9)

Reported by zxyrz...@gmail.com, Apr 15 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36

Steps to reproduce the problem:
http://xn--uncode-qyd1697c.org/

What is the expected behavior?

What went wrong?
Latin-extended from U+1EA0 not be blocked, it can lead to url spoof, for example, ỉ (U+1EC9) followed by a combining mark, just as  issue 750239  says: `U+0307 (dot above) after i, j, l, or U+0131 (dotless i) would be very hard to see if possible at all`, 

Did this work before? N/A 

Chrome version: 65.0.3325.181  Channel: stable
OS Version: OS X 10.13.4
Flash Version: Shockwave Flash 29.0 r0
 
unicode.png
8.1 KB View Download

Comment 1 by zxyrz...@gmail.com, Apr 15 2018

And on Windows, it seems more confused
window_unicode.png
691 bytes View Download

Comment 2 by zxyrz...@gmail.com, Apr 15 2018

And anther payload: http://xn--googe-bgd9680c.com/
U+1ECB (ị) followed by U+0307 may confused with `l`
Components: UI>Browser>Omnibox UI>Security>UrlFormatting
Labels: -Pri-2 M-66 Security_Severity-Medium Security_Impact-Stable OS-Android OS-Chrome OS-Fuchsia OS-iOS OS-Linux OS-Windows Pri-1
Owner: creis@chromium.org
Status: Assigned (was: Unconfirmed)
Cc: creis@chromium.org js...@chromium.org
Owner: mgiuca@chromium.org

Comment 5 by mgiuca@chromium.org, Apr 17 2018

Cc: -js...@chromium.org mgiuca@chromium.org
Owner: js...@chromium.org
jshin deals with domain name spoofing.

Comment 6 by zxyrz...@gmail.com, Apr 17 2018

As `unicode.org` not in top domain list, so it can be spoofed simply by http://xn--uncode-xk8b.org/
anyway, as you block latin extended from U+1E00 to U+1E9F, so i think it's necessary to block latin extended from U+1EA0 as well

Comment 7 by zxyrz...@gmail.com, Apr 17 2018

And another interesting idn spoof cause by latin extened, https://xn--fabook-jhb.com/, U+0153/U+0152 (œ) shown like `ce` in address bar

Comment 8 by js...@chromium.org, Apr 17 2018

Cc: markda...@google.com sffc@google.com bstell@google.com
Summary: Consider blocking U+0307 after other i-like characters (e.g. U+1EC9) (was: Latin-extended could lead to URL spoof)
As you mentioned in comment 6. unỉ̇code.org with U+1EC9, U+0307) is not blocked because it's not in the top 10k list.

OTOH, gmaỉ̇l.com (http://xn--gmal-swc9473b.com/ ;gmail with U+1EC9 + U+0307) is blocked. 

We can't block U+1EA0 ~ U+1EFF blindly (it's used in Vietnamese). 

> U+0307 (dot above) after i, j, l, or U+0131 (dotless i)

Blocking U+0307 after other i-like characters can be considered. 


Comment 9 Deleted

Comment 10 Deleted

Project Member

Comment 11 by sheriffbot@chromium.org, May 2 2018

jshin: Uh oh! This issue still open and hasn't been updated in the last 14 days. This is a serious vulnerability, and we want to ensure that there's progress. Could you please leave an update with the current status and any potential blockers?

If you're not the right owner for this issue, could you please remove yourself as soon as possible or help us find the right one?

If the issue is fixed or you can't reproduce it, please close the bug. If you've started working on a fix, please set the status to Started.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 12 by js...@chromium.org, May 11 2018

Labels: -Pri-1 -Security_Impact-Stable -M-66 M-68 Pri-2
From the set at https://goo.gl/2j6r18 ,  

\u00ec-\u00ef
\u0129 \u012b \u012d, \u012f, \u0135, \u013a, \u013c, \u013e, \u0142
\u01f0, \u0209, \u020b \u0211, \03af \0456-\u0458, ......

Hmm.... perhaps just banning all diacritics in U+03xx might be better (treating i/j like special does not seem to make a lot of sense) , but doing so will lose some language support.  

Alternatively, we can just do nothing. Top domains are protected anyway. 

Yet another alternative would be to wait for ICU to add an option for this group of characters. There's a work going on. 




Comment 13 by js...@chromium.org, May 11 2018

See  http://bugs.icu-project.org/trac/ticket/13333  . There's a CL under review for this ICU ticket. 

I can cook up soemthing with 'soft-dotted char property', but I'd rather wait for ICU to deal with them. If necessary, we can cherry pick from the upstream. 

Comment 14 by js...@chromium.org, May 11 2018

Hmm....
soft-dotted set (https://goo.gl/NRmgyA ) is a lot smaller than what I listed in comment 12. 


Project Member

Comment 15 by sheriffbot@chromium.org, May 12 2018

Labels: Security_Impact-Head
Project Member

Comment 16 by sheriffbot@chromium.org, May 12 2018

Labels: ReleaseBlock-Stable
This is a serious security regression. If you are not able to fix this quickly, please revert the change that introduced it.

If this doesn't affect a release branch, or has not been properly classified for severity, please update the Security_Impact or Security_Severity labels, and remove the ReleaseBlock label. To disable this altogether, apply ReleaseBlock-NA.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 17 by js...@chromium.org, May 14 2018

Labels: -Security_Severity-Medium -ReleaseBlock-Stable -M-68 Security_Severity-Low
> This is a serious security regression.

It's not !

Comment 18 by sffc@google.com, May 14 2018

I'm working on an ICU ticket to detect U+0307 following Soft_Dotted, dotless i, dotless j, 'l', and characters confusable with them:

http://bugs.icu-project.org/trac/ticket/13333

I based that set off of previous comments on this thread.  This is not yet in the Unicode specification.  If you would rather see more sequences forbidden than what I listed here, please comment within the next few days in order to get this into ICU 62.

Comment 19 by js...@chromium.org, May 17 2018

Status: ExternalDependency (was: Assigned)
Thanks, Shane. If the answer to my question at http://bugs.icu-project.org/trac/ticket/13333#comment:18 ) is positive, I think we're good. 


Looks like the fix for http://bugs.icu-project.org/trac/ticket/13333 is already in canary, and the payload in comment #2 now displays punycode.

Can this be closed or is there remaining work?
As far as I am concerned, from the ICU side, this issue is closed unless there is another compelling case that our solution does not address.
Status: Fixed (was: ExternalDependency)
Thanks, let's close this as fixed.

Project Member

Comment 23 by sheriffbot@chromium.org, Aug 4

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Labels: reward-topanel
Labels: -reward-topanel reward-unpaid reward-500
*** Boilerplate reminders! ***
Please do NOT publicly disclose details until a fix has been released to all our users. Early public disclosure may cancel the provisional reward. Also, please be considerate about disclosure when the bug affects a core library that may be used by other products. Please do NOT share this information with third parties who are not directly involved in fixing the bug. Doing so may cancel the provisional reward. Please be honest if you have already disclosed anything publicly or to third parties. Lastly, we understand that some of you are not interested in money. We offer the option to donate your reward to an eligible charity. If you prefer this option, let us know and we will also match your donation - subject to our discretion. Any rewards that are unclaimed after 12 months will be donated to a charity of our choosing.
*********************************
Thanks for the report! The VRP panel decided to award $500 - cheers!
Labels: -reward-unpaid reward-inprocess
Wow, thanks a lot !
And I want to know will this bug assigned a CVE ?
Labels: idn-spoof
Project Member

Comment 31 by sheriffbot@chromium.org, Nov 10

Labels: -Restrict-View-SecurityNotify allpublic
This bug has been closed for more than 14 weeks. Removing security view restrictions.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment