CVE-2024-53233

unicode: Fix utf8_load() error path

Medium · published December 27, 2024

CVSS v3.1
5.5
EPSS
0%
Percentile
12.3
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

unicode: Fix utf8_load() error path

utf8_load() requests the symbol "utf8_data_table" and then checks if the

requested UTF-8 version is supported. If it's unsupported, it tries to

put the data table using symbol_put(). If an unsupported version is

requested, symbol_put() fails like this:

kernel BUG at kernel/module/main.c:786!

RIP: 0010:__symbol_put+0x93/0xb0

Call Trace:

<TASK>

? __die_body.cold+0x19/0x27

? die+0x2e/0x50

? do_trap+0xca/0x110

? do_error_trap+0x65/0x80

? __symbol_put+0x93/0xb0

? exc_invalid_op+0x51/0x70

? __symbol_put+0x93/0xb0

? asm_exc_invalid_op+0x1a/0x20

? __pfx_cmp_name+0x10/0x10

? __symbol_put+0x93/0xb0

? __symbol_put+0x62/0xb0

utf8_load+0xf8/0x150

That happens because symbol_put() expects the unique string that

identify the symbol, instead of a pointer to the loaded symbol. Fix that

by using such string.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00224 · 12.3th percentile
Published
2024-12-27T13:50Z
EPSS history
Timeline
  • 27 DEC 13:50Z
    unicode: Fix utf8_load() error path
    cvelistv5