Your submission was sent successfully! Close

You have successfully unsubscribed! Close

CVE-2023-25193

Published: 4 February 2023

hb-ot-layout-gsubgpos.hh in HarfBuzz through 6.0.0 allows attackers to trigger O(n^2) growth via consecutive marks during the process of looking back for base glyphs when attaching marks.

Notes

AuthorNote
rodrigo-zaiden
commit 85be877925ddbf34f74a1229f3ca1716bb6170dc that was
claimed to fix the issue, got reverted in commit
661050b4659ee490dfe622821bc7fde7d1c40510, there are comments on the first
discussing possible regressions. Instead, the commits listed in the
patches section seems to properly fix the issue.
for commit 30b84faba, _infos_set_glyph_flags() can be
found as _unsafe_to_break_set_mask() for versios prior to 3.3.0, down to
version 1.5.0, where the later was added.
GPOS lookups (src/OT/Layout/GPOS) moved to the current
code baseline in version 4.4.1, before it, some of the methods can be
found in src/hb-ot-layout-gsubgpos.hh.
releases prior to bionic does not have any of the code
being fixed. bionic itself could be patched with some of the commits, but
not all. a careful check seems necessary to evaluate if really possible
to fix it.

Priority

Low

Cvss 3 Severity Score

7.5

Score breakdown

Status

Package Release Status
openjdk
Launchpad, Ubuntu, Debian
trusty Ignored
(end of standard support)
xenial Ignored
(end of standard support)
bionic Ignored
(end of standard support)
focal Does not exist

jammy Does not exist

lunar Does not exist

upstream Needs triage

openjdk-8
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Not vulnerable
(code not present)
bionic Not vulnerable
(code not present)
focal Not vulnerable
(code not present)
jammy Not vulnerable
(code not present)
lunar Not vulnerable
(code not present)
upstream Needs triage

openjdk-9
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Ignored
(no longer supported by upstream)
bionic Does not exist

focal Does not exist

jammy Does not exist

lunar Does not exist

upstream Needs triage

openjdk-lts
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

upstream Needs triage

bionic
Released (11.0.20+8-1ubuntu1~18.04)
Available with Ubuntu Pro or Ubuntu Pro (Infra-only)
focal
Released (11.0.20+8-1ubuntu1~20.04)
jammy
Released (11.0.20+8-1ubuntu1~22.04)
lunar
Released (11.0.20+8-1ubuntu1~23.04)
openjdk-13
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Ignored
(superseded by openjdk-17)
jammy Does not exist

lunar Does not exist

upstream Needs triage

openjdk-16
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Ignored
(superseded by openjdk-17)
jammy Does not exist

lunar Does not exist

upstream Needs triage

openjdk-17
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic
Released (17.0.8+7-1~18.04)
Available with Ubuntu Pro
focal
Released (17.0.8+7-1~20.04.2)
jammy
Released (17.0.8+7-1~22.04)
lunar
Released (17.0.8+7-1~23.04)
upstream Needs triage

openjdk-18
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Does not exist

jammy Ignored
(superseded by openjdk-19)
lunar Ignored
(superseded by openjdk-19)
upstream Needs triage

openjdk-19
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Does not exist

jammy Ignored
(no longer supported by upstream)
lunar Ignored
(superseded by openjdk-20)
upstream Needs triage

openjdk-20
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Does not exist

jammy Does not exist

lunar
Released (20.0.2+9+ds1-0ubuntu1~23.04)
upstream Needs triage

openjdk-21
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Does not exist

jammy Does not exist

lunar Needs triage

upstream Needs triage

openjdk-22
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Does not exist

jammy Does not exist

lunar Does not exist

upstream Needs triage

harfbuzz
Launchpad, Ubuntu, Debian
focal Needed

jammy Needed

kinetic Ignored
(end of life, was needed)
trusty Not vulnerable
(code not present)
xenial Not vulnerable
(code not present)
bionic Needs triage

upstream
Released (7.0.0)
lunar Needed

Patches:
upstream: https://github.com/harfbuzz/harfbuzz/commit/8708b9e081192786c027bb7f5f23d76dbe5c19e8
upstream: https://github.com/harfbuzz/harfbuzz/commit/30b84faba7811bed1b7c9828afd719f20e0086da
upstream: https://github.com/harfbuzz/harfbuzz/commit/1930760bc2c2b4185a772e38b6ecc174a95a47b2
upstream: https://github.com/harfbuzz/harfbuzz/commit/64fa5cd482d0be2e215998aa1c2a05b978133e7c

Severity score breakdown

Parameter Value
Base score 7.5
Attack vector Network
Attack complexity Low
Privileges required None
User interaction None
Scope Unchanged
Confidentiality None
Integrity impact None
Availability impact High
Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H