{"guid":"fcdfd8b5-c47a-44cb-bdcf-5caf970672ca","title":"How To Fuzz for Logic Bugs? Building Effective Oracles - A Case Study on Site Isolation Bypass Bugs","subtitle":null,"slug":"god2026-110767-how-to-fuzz-for-logic-bug","link":"https://c3voc.de","description":"Due to the rise of memory-safe languages like Rust, attention shifts towards logic bugs, which do not arise from insecure memory accesses. Identifying these bugs in large and complex codebases is hard, because bugs are mainly triggered by rare edge cases. Fuzzing is a great technique to induce random behavior and observe the edge cases in the application logic that are prone to logic bugs.\n\nHowever, fuzzing logic bugs requires a bug oracle, to detect whenever the application behavior deviates. Such models are hard to define, if they must infer correct or incorrect behavior based on the applications output. We propose a different approach: Oracles can be implemented effectively by applying small patches on the target application, because they can be defined as invariants that must hold across all random executions. This talk presents this approach exemplary on recent work, detecting site isolation bypass bugs in web browsers.\n\nSite isolation is one of the core security mechanisms of modern browsers. When using site isolation, the browser confines all processing related to a site to its own sandboxed renderer process. This, however, requires the central browser process to keep track of which renderer process belongs to which site. Logic bugs in this implementation, allow attackers to leak sensitive data, such as cookies, or achieve Universal Cross-Site Scripting.\n\nWe implemented two oracles, the leak sanitizer and the process sanitizer, that detect a wide range of site isolation bypass bugs. Combined with a fuzzer that targets edge cases in cross-site communication and navigation, our oracles detected four site isolation bugs in Chrome and Firefox.\n\nThis basic approach generalizes to other complex applications and classes of logic bugs. In this talk, we will explore how to set up a fuzzer for logic bugs and to inspire you to find logic bugs in more complex applications.\n\nLicensed to the public under https://creativecommons.org/licenses/by-sa/4.0/","original_language":"eng","persons":["Jan Niklas Drescher"],"view_count":2,"promoted":false,"date":"2026-09-24T14:40:00.000+02:00","release_date":"2026-09-24T00:00:00.000+02:00","updated_at":"2026-09-24T16:45:08.715+02:00","tags":["110767","2026","god2026","Saal Fidelitas","god2026-eng","god2026","Day 1"],"length":1437,"duration":1437,"thumb_url":"https://static.media.ccc.de/media/events/god/2026/110767-fcdfd8b5-c47a-44cb-bdcf-5caf970672ca.jpg","poster_url":"https://static.media.ccc.de/media/events/god/2026/110767-fcdfd8b5-c47a-44cb-bdcf-5caf970672ca_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/god/2026/110767-fcdfd8b5-c47a-44cb-bdcf-5caf970672ca.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/god/2026/110767-fcdfd8b5-c47a-44cb-bdcf-5caf970672ca.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/god2026-110767-how-to-fuzz-for-logic-bug","url":"https://media.ccc.de/public/events/fcdfd8b5-c47a-44cb-bdcf-5caf970672ca","conference_title":"German OWASP Day 2026","conference_url":"https://media.ccc.de/public/conferences/god2026","related":[],"recordings":[{"length":1437,"mime_type":"video/mp4","language":"eng","filename":"god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2026-09-24T16:15:05.743+02:00","label":"eng 1080p","size":133,"recording_url":"https://cdn.media.ccc.de/events/god/2026/h264-hd/god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_hd.mp4","url":"https://media.ccc.de/public/recordings/105393","event_url":"https://media.ccc.de/public/events/fcdfd8b5-c47a-44cb-bdcf-5caf970672ca","conference_url":"https://media.ccc.de/public/conferences/god2026"},{"length":1437,"mime_type":"audio/mpeg","language":"eng","filename":"god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2026-09-24T16:17:08.106+02:00","label":"eng","size":22,"recording_url":"https://cdn.media.ccc.de/events/god/2026/mp3/god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_mp3.mp3","url":"https://media.ccc.de/public/recordings/105395","event_url":"https://media.ccc.de/public/events/fcdfd8b5-c47a-44cb-bdcf-5caf970672ca","conference_url":"https://media.ccc.de/public/conferences/god2026"},{"length":1437,"mime_type":"audio/opus","language":"eng","filename":"god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2026-09-24T16:17:11.650+02:00","label":"eng","size":14,"recording_url":"https://cdn.media.ccc.de/events/god/2026/opus/god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_opus.opus","url":"https://media.ccc.de/public/recordings/105396","event_url":"https://media.ccc.de/public/events/fcdfd8b5-c47a-44cb-bdcf-5caf970672ca","conference_url":"https://media.ccc.de/public/conferences/god2026"},{"length":1437,"mime_type":"video/mp4","language":"eng","filename":"god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2026-09-24T16:17:15.840+02:00","label":"eng 576p","size":45,"recording_url":"https://cdn.media.ccc.de/events/god/2026/h264-sd/god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_sd.mp4","url":"https://media.ccc.de/public/recordings/105397","event_url":"https://media.ccc.de/public/events/fcdfd8b5-c47a-44cb-bdcf-5caf970672ca","conference_url":"https://media.ccc.de/public/conferences/god2026"},{"length":1437,"mime_type":"video/webm;codecs=av01","language":"eng","filename":"god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_av1-sd.webm","state":"new","folder":"av1-sd","high_quality":false,"width":720,"height":576,"updated_at":"2026-09-24T16:19:19.973+02:00","label":"eng 576p","size":38,"recording_url":"https://cdn.media.ccc.de/events/god/2026/av1-sd/god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_av1-sd.webm","url":"https://media.ccc.de/public/recordings/105398","event_url":"https://media.ccc.de/public/events/fcdfd8b5-c47a-44cb-bdcf-5caf970672ca","conference_url":"https://media.ccc.de/public/conferences/god2026"},{"length":1437,"mime_type":"video/webm;codecs=av01","language":"eng","filename":"god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_av1-hd.webm","state":"new","folder":"av1-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2026-09-24T16:26:00.781+02:00","label":"eng 1080p","size":94,"recording_url":"https://cdn.media.ccc.de/events/god/2026/av1-hd/god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_av1-hd.webm","url":"https://media.ccc.de/public/recordings/105402","event_url":"https://media.ccc.de/public/events/fcdfd8b5-c47a-44cb-bdcf-5caf970672ca","conference_url":"https://media.ccc.de/public/conferences/god2026"},{"length":1437,"mime_type":"video/webm","language":"eng","filename":"god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2026-09-24T16:31:33.546+02:00","label":"eng 1080p","size":124,"recording_url":"https://cdn.media.ccc.de/events/god/2026/webm-hd/god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_webm-hd.webm","url":"https://media.ccc.de/public/recordings/105404","event_url":"https://media.ccc.de/public/events/fcdfd8b5-c47a-44cb-bdcf-5caf970672ca","conference_url":"https://media.ccc.de/public/conferences/god2026"},{"length":1437,"mime_type":"video/webm","language":"eng","filename":"god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2026-09-24T16:33:03.303+02:00","label":"eng 576p","size":50,"recording_url":"https://cdn.media.ccc.de/events/god/2026/webm-sd/god2026-110767-eng-How_To_Fuzz_for_Logic_Bugs_Building_Effective_Oracles_-_A_Case_Study_on_Site_Isolation_Bypass_Bugs_webm-sd.webm","url":"https://media.ccc.de/public/recordings/105406","event_url":"https://media.ccc.de/public/events/fcdfd8b5-c47a-44cb-bdcf-5caf970672ca","conference_url":"https://media.ccc.de/public/conferences/god2026"}]}