Merge ~rodrigo-zaiden/ubuntu-cve-tracker:feature/triage-cve-icu into ubuntu-cve-tracker:master

Proposed by Rodrigo Figueiredo Zaiden
Status: Merged
Merged at revision: fd4454cd9bc3a0677868d1abcd96e937f4dbfb9b
Proposed branch: ~rodrigo-zaiden/ubuntu-cve-tracker:feature/triage-cve-icu
Merge into: ubuntu-cve-tracker:master
Diff against target: 58 lines (+16/-15)
2 files modified
active/CVE-2020-21913 (+8/-7)
active/CVE-2021-30535 (+8/-8)
Reviewer Review Type Date Requested Status
Steve Beattie Approve
Alex Murray Pending
Review via email: mp+410174@code.launchpad.net

Commit message

CVE-2020-21913/CVE-2021-30535: icu: triage update

Description of the change

Updated triage info based mainly on https://launchpad.net/ubuntu/<release>/+source/icu/+changelog
and, additionally, with info found in ICU github repo
Would you, please, verify if the approach is correct?

To post a comment you must log in.
Revision history for this message
Steve Beattie (sbeattie) wrote :

Hey Rodrigo,

These changes look pretty good. The only change I would make is that, because the fixes landed before the a given ubuntu version was released, we mark those as 'not-affected' rather than 'released' (unless our team was the one to upload to the devel release). The idea here is that for example because focal had icu 66.1-2ubuntu1 or newer available when focal was released, at no time was a user of focal with any of icu's packages installed vulnerable to CVE-2020-21913. If we had fixed the issue after focal had been released via focal-security, then we would mark it as 'released', to more properly indicate that the vulnerability had affected that release, but with the update, now does not.

(In the end, it's not a huge difference; in either case if the user has that version or newer installed, they know they are not vulnerable to that CVE.)

The analysis of when both CVEs were address does look correct. If you're ever unsure, you should be able to verify by code inspection, and indeed, icu 66.1-2ubuntu2 has CVE-2020-10531.patch as the last applied patch, and you can go further by looking at the buildlog for the package to ensure that it was applied:

  https://launchpad.net/ubuntu/+source/icu/66.1-2ubuntu1
=> amd64 build record:
  https://launchpad.net/ubuntu/+source/icu/66.1-2ubuntu1/+build/18846484
=> amd64 build log:
  https://launchpadlibrarian.net/469373607/buildlog_ubuntu-focal-amd64.icu_66.1-2ubuntu1_BUILDING.txt.gz

In there, you can see the line:

  dpkg-source: info: applying CVE-2020-10531.patch

(in this case, you can also see the added testcase, UnicodeStringTest::TestLargeAppend ge exercised as well, confirming the patch application.)

That said, normally the changelog information is trustworthy enough to rely on, but that is how you would validate if you had any concerns about accuracy.

Thanks!

review: Needs Fixing
Revision history for this message
Rodrigo Figueiredo Zaiden (rodrigo-zaiden) wrote :

> Hey Rodrigo,
>
> These changes look pretty good. The only change I would make is that, because
> the fixes landed before the a given ubuntu version was released, we mark those
> as 'not-affected' rather than 'released' (unless our team was the one to
> upload to the devel release). The idea here is that for example because focal
> had icu 66.1-2ubuntu1 or newer available when focal was released, at no time
> was a user of focal with any of icu's packages installed vulnerable to
> CVE-2020-21913. If we had fixed the issue after focal had been released via
> focal-security, then we would mark it as 'released', to more properly indicate
> that the vulnerability had affected that release, but with the update, now
> does not.
>
> (In the end, it's not a huge difference; in either case if the user has that
> version or newer installed, they know they are not vulnerable to that CVE.)
>
> The analysis of when both CVEs were address does look correct. If you're ever
> unsure, you should be able to verify by code inspection, and indeed, icu
> 66.1-2ubuntu2 has CVE-2020-10531.patch as the last applied patch, and you can
> go further by looking at the buildlog for the package to ensure that it was
> applied:
>
> https://launchpad.net/ubuntu/+source/icu/66.1-2ubuntu1
> => amd64 build record:
> https://launchpad.net/ubuntu/+source/icu/66.1-2ubuntu1/+build/18846484
> => amd64 build log:
> https://launchpadlibrarian.net/469373607/buildlog_ubuntu-focal-
> amd64.icu_66.1-2ubuntu1_BUILDING.txt.gz
>
> In there, you can see the line:
>
> dpkg-source: info: applying CVE-2020-10531.patch
>
> (in this case, you can also see the added testcase,
> UnicodeStringTest::TestLargeAppend ge exercised as well, confirming the patch
> application.)
>
> That said, normally the changelog information is trustworthy enough to rely
> on, but that is how you would validate if you had any concerns about accuracy.
>
> Thanks!

Hi Steve,

Thanks a lot for the review and guide on how to check for a fix in a release using the build log.

The "not-affected" tag makes sense, my bad that I didn't think of using it before.
I amended the commit to update the review (if this is not the correct procedure, please let me know)
I noticed that I was using an incorrect version for impish (devel) release on CVE-2020-21913 so it is also updated.

If possible, would you please, re-check if it is correct now?

Thanks,
Rodrigo

Revision history for this message
Steve Beattie (sbeattie) wrote :

This looks good, merging.

Re versions, that's okay. Usually we want the version that the fix first made it into the Ubuntu archive, but realistically, as long as the version is <= the version in that specific release, people who use tools based on UCT data to check whether they are vulnerable or not will correctly determine that they are not vulnerable.

Similarly for the upstream version where it was fixed, because the vast majority of our packages are derived from the same package in debian, we often encode the version that the fix first entered debian's unstable or experimental archives in that field.

But those are all fine details that don't affect the correctness of this merge proposal.

Thanks!

review: Approve
Revision history for this message
Steve Beattie (sbeattie) wrote :

Oh bah, I had to rebase my merge because I was behind on master, but forget to preserve the branch in the rebase, so the end result looks like a fast-forward merge. It's merged in https://git.launchpad.net/ubuntu-cve-tracker/commit/?id=fd4454cd9bc3a0677868d1abcd96e937f4dbfb9b

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/active/CVE-2020-21913 b/active/CVE-2020-21913
2index 5fd9dcf..878b9ad 100644
3--- a/active/CVE-2020-21913
4+++ b/active/CVE-2020-21913
5@@ -17,6 +17,7 @@ Priority: low
6 Discovered-by:
7 Assigned-to: rodrigo-zaiden
8 CVSS:
9+ nvd: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
10
11 Patches_firefox:
12 upstream_firefox: needs-triage
13@@ -83,12 +84,12 @@ devel_mozjs78: needs-triage
14
15 Patches_icu:
16 upstream: https://github.com/unicode-org/icu/commit/727505bddab0bfd527f1db6697cb4d4f7febe4a9
17-upstream_icu: needs-triage
18+upstream_icu: released (66.1)
19 trusty_icu: ignored (out of standard support)
20-trusty/esm_icu: needs-triage
21+trusty/esm_icu: needed
22 xenial_icu: ignored (out of standard support)
23-esm-infra/xenial_icu: needs-triage
24-bionic_icu: needs-triage
25-focal_icu: needs-triage
26-hirsute_icu: needs-triage
27-devel_icu: needs-triage
28+esm-infra/xenial_icu: needed
29+bionic_icu: needed
30+focal_icu: not-affected (66.1-2ubuntu1)
31+hirsute_icu: not-affected (67.1-6ubuntu1)
32+devel_icu: not-affected (67.1-7ubuntu1)
33diff --git a/active/CVE-2021-30535 b/active/CVE-2021-30535
34index 1aa5d7e..7d29480 100644
35--- a/active/CVE-2021-30535
36+++ b/active/CVE-2021-30535
37@@ -33,13 +33,13 @@ hirsute_chromium-browser: not-affected (code not present)
38 devel_chromium-browser: not-affected (code not present)
39
40 Patches_icu:
41- upstream: https://github.com/unicode-org/icu/commit/e450fa50fc242282551f56b941dc93b9a8a0bcbb.patch
42-upstream_icu: needs-triage
43+ upstream: https://github.com/unicode-org/icu/commit/e450fa50fc242282551f56b941dc93b9a8a0bcbb
44+upstream_icu: released (70-rc)
45 trusty_icu: ignored (out of standard support)
46-trusty/esm_icu: needs-triage
47+trusty/esm_icu: needed
48 xenial_icu: ignored (out of standard support)
49-esm-infra/xenial_icu: needs-triage
50-bionic_icu: needs-triage
51-focal_icu: needs-triage
52-hirsute_icu: needs-triage
53-devel_icu: needs-triage
54+esm-infra/xenial_icu: needed
55+bionic_icu: needed
56+focal_icu: needed
57+hirsute_icu: needed
58+devel_icu: not-affected (67.1-7ubuntu1)

Subscribers

People subscribed via source and target branches