| Title | Open Source libgsf <=1.14.53 Out-of-Bounds Read (sorting_key_copy) |
|---|
| Description | The vulnerability occurs because the function copies an extra element—assuming a null terminator exists—resulting in an out-of-bounds read if the original allocation for sk->name didn't include space for that terminator.
static GsfMSOleSortingKey *gsf_msole_sorting_key_copy(GsfMSOleSortingKey *sk) {
GsfMSOleSortingKey *res = g_new(GsfMSOleSortingKey, 1);
res->len = sk->len;
// Allocate space for sk->len + 1 gunichar2 characters,
// assuming that sk->name contains a null terminator.
res->name = g_new(gunichar2, sk->len + 1);
// Copy (sk->len + 1) gunichar2 elements from sk->name into res->name.
// If sk->name was not originally allocated with (sk->len + 1) elements,
// this memcpy will read past the allocated memory (OOB read).
memcpy(res->name, sk->name, (sk->len + 1) * sizeof(gunichar2));
return res;
} |
|---|
| User | ninpwn (UID 82253) |
|---|
| Submission | 03/13/2025 21:24 (1 Year ago) |
|---|
| Moderation | 03/24/2025 13:46 (11 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 300744 [GNOME libgsf up to 1.14.53 sorting_key_copy Name out-of-bounds] |
|---|
| Points | 17 |
|---|