Carmelo Messina
c266f670b3
Partition blobs by top frame URL: Fix renderer crash in PublicURLManager and clean up Blob URL partitioning ( #2922 )
...
Fix a Null Pointer Dereference crash in `GetInsecureTopLevelSite()`
affecting sites with heavy Service Worker usage (e.g., Discord, Reddit).
This rewrite also hardens our custom `Partition-blobs-by-top-frame-URL`
logic against upstream cross-partition token leak vectors.
In `public_url_manager.cc`, the custom helper was passing the result of
`worker_global_scope->top_level_frame_security_origin()` straight into the
`BlinkSchemefulSite` constructor. However, this property is intentionally
null for Service Workers, causing a fatal null pointer dereference crash.
Additionally, since Cromite's partition checks execute downstream from
vanilla Chromium's native mitigations, the browser-side fallback using
`agent_cluster_id` inside `IsSamePartition()` was redundant dead code.
Changes:
1. Blink: Fully rewrote `GetInsecureTopLevelSite()` using safe `DynamicTo`
casts. For Service Workers, it now safely pulls the browser-validated
partition directly via `service_worker->storage_key().top_level_site()`,
eliminating the null pointer crash surface.
2. Blink / Hardening: Intentionally excluded Shared Workers from Blob URL
support (`IsSharedWorkerGlobalScope()`) by returning `std::nullopt` to prevent
unpartitioned fallback vectors in shared contexts.
3. Storage: Streamlined `IsSamePartition()` in `blob_url_store_impl.cc`
by removing the obsolete `agent_cluster_id` fallback, leaving a clean,
deterministic verification of the top-level site partition.
2026-06-03 14:54:19 +02:00
..
2023-12-28 17:19:01 +01:00
2026-05-08 08:35:17 +02:00
2025-10-27 13:57:27 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-02-01 15:18:16 +01:00
2026-05-19 10:48:25 +02:00
2026-05-19 15:40:33 +02:00
2026-05-19 15:40:33 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2024-01-22 11:33:32 +01:00
2026-05-19 10:48:25 +02:00
2024-01-22 11:33:32 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-03-11 12:43:32 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-03-27 15:09:49 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-19 10:49:53 +02:00
2026-02-01 15:18:16 +01:00
2026-05-08 08:35:17 +02:00
2026-01-15 12:58:05 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-05-19 15:40:33 +02:00
2026-03-11 12:43:32 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-02-01 15:18:16 +01:00
2026-05-08 08:35:17 +02:00
2024-01-22 11:32:29 +01:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-02-01 15:18:16 +01:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-04-08 10:42:08 +02:00
2026-05-19 10:48:25 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-05-19 10:49:53 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2025-10-27 13:57:27 +01:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2025-11-06 16:34:03 +01:00
2026-05-08 08:35:17 +02:00
2026-03-27 15:09:49 +01:00
2026-05-19 09:12:10 +00:00
2024-03-17 19:41:20 +01:00
2024-01-22 11:32:29 +01:00
2024-05-01 18:17:55 +02:00
2026-05-19 10:48:25 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-19 15:40:33 +02:00
2026-03-27 15:09:49 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-03-27 15:09:49 +01:00
2026-05-08 08:35:17 +02:00
2026-01-15 12:58:05 +01:00
2024-01-22 11:33:32 +01:00
2026-05-08 08:35:17 +02:00
2025-03-28 17:04:22 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-01-15 12:58:05 +01:00
2026-03-11 12:43:32 +01:00
2024-01-22 11:33:32 +01:00
2024-02-27 18:06:31 +01:00
2024-01-22 11:33:32 +01:00
2026-05-08 08:35:17 +02:00
2025-09-29 11:50:52 +02:00
2026-05-08 08:35:17 +02:00
2025-01-22 14:55:24 +01:00
2026-03-27 15:09:49 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-03-27 15:09:49 +01:00
2026-03-11 12:43:32 +01:00
2026-05-19 10:49:53 +02:00
2025-06-24 16:26:13 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2024-11-12 10:01:08 +01:00
2026-05-08 08:35:17 +02:00
2025-02-04 15:55:38 +01:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-05-19 10:48:25 +02:00
2026-01-15 12:58:05 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-04-08 10:42:08 +02:00
2026-02-01 15:18:16 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2024-04-15 19:19:49 +02:00
2026-05-08 08:35:17 +02:00
2026-02-01 15:18:16 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:49:53 +02:00
2026-02-01 15:18:16 +01:00
2025-08-30 12:50:59 +02:00
2026-05-08 08:35:17 +02:00
2026-03-11 12:43:32 +01:00
2025-10-27 13:57:27 +01:00
2026-05-08 08:35:17 +02:00
2026-05-19 09:12:10 +00:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-05-19 10:49:53 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-04-08 10:42:08 +02:00
2026-04-08 10:42:08 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-03-11 12:43:32 +01:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:36:11 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2024-01-22 11:33:32 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-19 10:48:25 +02:00
2026-05-19 10:49:53 +02:00
2026-05-19 10:49:53 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-05-19 10:48:25 +02:00
2024-08-03 17:16:29 +02:00
2026-05-19 15:40:33 +02:00
2025-11-22 16:25:29 +01:00
2024-08-07 14:12:37 +02:00
2026-05-08 08:35:17 +02:00
2026-02-05 14:22:08 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-01-24 18:18:23 +01:00
2026-05-08 08:35:17 +02:00
2025-04-27 15:43:00 +02:00
2026-05-08 08:35:17 +02:00
2024-10-12 13:05:30 +02:00
2026-05-19 10:48:25 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-01-15 12:58:05 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-03-24 11:10:18 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2025-02-27 15:11:47 +01:00
2026-05-19 10:48:25 +02:00
2025-10-01 16:04:10 +02:00
2026-04-20 17:52:46 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-02-01 15:18:16 +01:00
2025-08-05 14:55:21 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-03-27 15:09:49 +01:00
2025-08-05 14:55:21 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-06-03 14:54:19 +02:00
2026-05-19 10:48:25 +02:00
2026-03-27 15:09:49 +01:00
2026-05-19 10:48:25 +02:00
2026-05-08 08:35:17 +02:00
2025-08-05 14:55:21 +02:00
2025-02-07 13:46:55 +01:00
2026-05-08 08:35:17 +02:00
2026-02-01 15:18:16 +01:00
2026-05-19 10:48:25 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-03-11 12:43:32 +01:00
2026-03-27 15:09:49 +01:00
2026-05-08 08:35:17 +02:00
2026-02-01 15:18:16 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-03-11 12:43:32 +01:00
2026-03-27 15:09:49 +01:00
2024-09-26 10:05:23 +02:00
2025-09-29 11:50:52 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-03-11 12:43:32 +01:00
2026-05-19 10:48:25 +02:00
2026-02-01 15:18:16 +01:00
2026-05-19 10:48:25 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-05-08 08:35:17 +02:00
2024-11-14 15:06:26 +01:00
2026-02-05 14:18:21 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:48:25 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-19 10:50:47 +02:00
2026-03-11 12:43:32 +01:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-02-01 15:18:16 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2025-05-15 10:49:24 +02:00
2026-01-15 12:58:05 +01:00
2026-03-27 15:09:49 +01:00
2026-05-08 08:35:17 +02:00
2026-05-20 17:40:29 +02:00
2026-02-01 15:18:16 +01:00
2026-05-08 08:35:17 +02:00
2026-05-19 15:40:33 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2025-08-05 14:55:21 +02:00
2026-05-19 10:48:25 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-02-01 15:18:16 +01:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-05-08 08:35:17 +02:00
2026-01-15 12:58:05 +01:00
2025-10-27 13:57:27 +01:00
2024-02-18 14:35:58 +01:00
2026-03-11 12:43:32 +01:00
2026-05-08 08:35:17 +02:00
2026-02-01 15:18:16 +01:00