Re: Unicode conversion issue

From: Gabriel Krisman Bertazi
Date: Wed Dec 11 2024 - 11:09:08 EST


Jaegeuk Kim <jaegeuk@xxxxxxxxxx> writes:

> Hi Linus/Gabriel,
>
> Once Android applied the below patch [1], some special characters started to be
> converted differently resulting in different length, so that f2fs cannot find
> the filename correctly which was created when the kernel didn't have [1].
>
> There is one bug report in [2] where describes more details. In order to avoid
> this, could you please consider reverting [1] asap? Or, is there any other
> way to keep the conversion while addressing CVE? It's very hard for f2fs to
> distinguish two valid converted lengths before/after [1].

I got this report yesterday. I'm looking into it.

It seems commit 5c26d2f1d3f5 ("unicode: Don't special case ignorable
code points") has affected more than ignorable code points, because that
U+2764 is not marked as Ignorable in the unicode database.

I still think the solution to the original issue is eliminating
ignorable code points, and that should be fine. Let me look at why this
block of characters is mishandled.

>
> [1] 5c26d2f1d3f5 ("unicode: Don't special case ignorable code points")
> [2] https://bugzilla.kernel.org/show_bug.cgi?id=219586

--
Gabriel Krisman Bertazi