Niels Dossche
99ed66b49f
Fix GH-20582: Heap Buffer Overflow in iptcembed
...
If you can extend the file between the file size gathering (resulting in
a buffer allocation), and reading / writing to the file you can trigger a
TOC-TOU where you write out of bounds.
To solve this, add extra bound checks and make sure that write actions
always fail when going out of bounds.
The easiest way to trigger this is via a pipe, which is used in the
test, but it should be possible with a regular file and a quick race
condition as well.
Closes GH-20591.
2025-12-26 22:43:45 +01:00
..
2021-05-06 12:16:35 +02:00
2021-12-15 20:27:40 +01:00
2025-12-26 22:43:45 +01:00
2025-12-16 15:34:19 +01:00
2025-05-12 08:44:46 +02:00
2023-02-18 19:31:28 +00:00
2023-02-13 03:30:47 +00:00
2025-06-24 23:29:00 +02:00
2025-12-16 15:34:19 +01:00
2022-07-19 10:27:38 +01:00
2025-06-24 23:29:00 +02:00
2023-11-22 20:39:28 -06:00
2024-03-18 06:53:39 +00:00
2022-08-09 16:22:14 +02:00
2023-02-07 22:47:43 +00:00
2020-09-02 15:10:41 +02:00
2023-07-29 06:00:47 +01:00
2021-07-03 21:03:47 +02:00
2022-07-19 17:45:15 +02:00
2020-04-14 15:16:26 +00:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2023-02-12 20:46:44 -07:00
2020-06-24 13:40:27 +02:00
2022-05-23 19:06:41 +01:00
2022-05-23 19:06:41 +01:00
2025-05-27 20:40:35 +02:00
2025-05-27 20:40:35 +02:00
2023-02-12 21:34:14 -07:00
2022-07-20 17:18:34 +02:00
2021-05-06 12:16:35 +02:00
2022-04-01 15:48:41 +01:00
2021-05-06 12:16:35 +02:00
2021-08-19 10:39:23 +02:00
2022-11-28 17:12:07 +01:00
2021-08-19 10:39:23 +02:00
2020-06-24 09:55:19 +02:00
2023-09-20 20:58:08 +02:00
2021-05-06 12:16:35 +02:00
2020-05-14 13:35:12 +02:00
2025-12-16 15:30:54 +01:00
2025-12-16 15:30:54 +01:00
2023-01-16 12:27:33 +01:00
2021-05-06 12:16:35 +02:00
2022-09-10 18:12:22 +02:00
2024-08-30 17:17:20 +01:00
2024-07-22 22:57:59 +01:00
2022-09-10 18:12:22 +02:00
2025-02-24 23:21:45 +01:00
2024-11-20 11:12:19 +01:00
2022-04-01 15:48:41 +01:00
2022-04-01 15:48:41 +01:00
2025-06-23 19:58:49 +02:00
2025-07-01 19:46:42 +03:00
2021-05-06 12:16:35 +02:00
2023-01-16 12:27:33 +01:00
2023-07-07 18:02:32 +02:00
2023-05-05 15:24:56 +02:00
2021-05-06 12:16:35 +02:00
2025-07-25 11:56:17 +02:00
2021-05-06 12:16:35 +02:00
2023-04-28 11:05:32 +02:00
2022-09-30 13:51:18 +02:00
2025-06-05 14:08:28 +02:00
2025-11-28 18:38:18 +01:00
2025-12-16 15:30:54 +01:00
2021-06-29 11:30:26 +02:00
2023-03-03 11:56:34 +01:00
2021-05-06 12:16:35 +02:00
2025-12-26 22:43:45 +01:00
2021-05-06 12:16:35 +02:00
2023-01-23 12:28:21 +00:00
2024-03-04 21:30:27 +09:00
2021-03-16 14:22:25 +01:00
2024-12-08 19:08:02 +01:00
2023-07-21 13:58:57 +02:00
2023-01-16 12:25:59 +01:00
2023-01-16 12:25:59 +01:00
2023-03-05 21:28:50 +01:00
2021-05-06 12:16:35 +02:00
2023-01-16 12:27:33 +01:00
2025-06-29 16:57:10 +01:00
2021-05-06 12:16:35 +02:00
2022-05-22 16:13:44 +01:00
2021-05-06 12:16:35 +02:00
2024-08-31 15:56:11 +09:00
2022-08-24 16:09:48 +02:00
2022-10-12 08:16:19 +02:00
2021-05-06 12:16:35 +02:00
2022-09-29 20:40:33 +01:00
2022-09-29 20:40:16 +01:00
2022-10-12 12:07:03 +02:00
2021-09-07 10:04:00 +02:00
2022-09-02 15:04:49 +02:00
2023-11-09 13:29:09 +00:00
2021-05-06 12:16:35 +02:00
2023-01-16 12:27:33 +01:00
2021-05-06 12:16:35 +02:00
2023-01-15 16:00:18 +00:00
2022-09-02 16:07:25 +02:00
2021-05-06 12:16:35 +02:00
2022-07-19 10:27:38 +01:00
2024-03-04 21:30:27 +09:00
2023-07-13 15:30:30 +01:00
2022-07-19 10:27:38 +01:00
2021-05-06 12:16:35 +02:00
2022-04-01 15:48:41 +01:00
2023-03-26 16:07:39 +02:00
2022-07-19 10:27:38 +01:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2023-07-16 12:34:28 +02:00
2022-10-13 13:13:36 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2025-12-13 11:57:54 +01:00
2023-02-22 12:05:33 +01:00
2021-06-29 11:30:26 +02:00
2021-05-06 12:16:35 +02:00
2024-09-01 17:24:17 +02:00
2021-05-06 12:16:35 +02:00
2023-12-12 19:57:06 +01:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2024-07-22 22:58:18 +01:00
2021-05-06 12:16:35 +02:00
2024-07-04 13:35:53 +02:00
2022-04-23 12:15:13 +01:00
2023-11-16 14:36:16 +00:00
2023-06-08 13:03:29 +01:00
2022-07-19 10:27:38 +01:00
2021-05-06 12:16:35 +02:00
2024-08-03 02:05:06 +02:00
2022-09-23 19:44:29 +02:00
2021-05-06 12:16:35 +02:00
2023-08-26 21:35:31 +02:00
2025-12-04 09:09:30 +01:00
2022-10-12 13:04:14 +02:00
2021-05-06 12:16:35 +02:00
2025-07-22 15:43:31 +02:00
2025-10-13 21:40:54 +02:00
2021-06-29 11:30:26 +02:00