Talks

Stealth Exposures: Advanced Side-Channel Attacks Targeting Mozilla Firefox's Protocol Handlers Satoki Tsuji

In this presentation, we examine a series of information disclosure flaws uncovered in Mozilla Firefox, with particular emphasis on how URL protocol handlers can pose security threats. Our investigation shows that attackers can leverage subtle timing variations and side channels to detect installed applications and configured URL protocols. Notably, the vulnerabilities CVE-2024-5690 and CVE-2024-9398 enable adversaries to profile user systems and gather reconnaissance data without any direct interaction from the user.
This research underscores the critical need to address emerging side-channel exploits in modern browsers and offers practical guidance for developers and security professionals alike. By applying these insights, it is possible to strengthen user privacy and mitigate advanced exploitation tactics in today's threat landscape.

How to prove that 42 is prime Robin Jadoul

Cryptographic protocols and zero-knowledge proofs are making huge strides, both on the theory and practice side. But where time-to-market constraints and security-critical components meet, is exactly where impactful bugs like to pop up. This talk looks at a zkVM — a virtual machine enabling zero-knowledge proofs of correct execution — targeting a RISC-V architecture, and some bugs we discovered within the code base. These bugs range from malicious guest programs behaving entirely unexpectedly from what one would expect coming from "real hardware", to losing all soundness and being able to prove arbitrary and incorrect statements. While the former bugs can be argued to not be flaws in the VM, since malicious programs can naturally pervert the execution in numerous ways, their presence may enable or simplify full exploitation of otherwise hard-to-use bugs that don't need malicious programs. In particular, as a proof of concept, the primality of the number 42 is proven, as well as knowledge of Satoshi's private keys.

Exploiting Smart TVs using the HbbTV Protocol Andrej Danis

The Hybrid Broadcast Broadband TV (HbbTV) is a protocol developed to combine standard television broadcasts with digital content over the Internet. In 2009, an industrial consortium led by the German broadcaster RTL launched the HbbTV initiative, setting a standard for a broadcast/broadband hybrid protocol to deliver content to Smart TVs, set-top boxes, and other connected multiscreen devices in an interconnected environment. With millions of supported devices around Europe, questions about the protocol's security arise. Recent studies have already shown that HbbTV provides users with little or no security and privacy. HbbTV's security and privacy issues are manifold. They range from a simple echo request from the broadcaster to check if the user is still watching to content-based attacks that replace URLs to show viewers different content than was intended. These issues have also been abused in practice, most recently in May 2022 when hackers exploited HbbTV broadcasts of Russian TV stations to show anti-war messages.
In our work, we analyzed the security of HbbTV applications by doing practical experimental research on selected smart TVs. Notably, we focus on three different Target of Exploitation (ToEs) from Toshiba, Samsung and LG vendors. We selected such devices as they support different Operating Systems (OS), respectively Android TV, Tizen OS and WebOS, and are manufactured in different years. By analyzing their software, we can infer that HbbTV adopts a different browser than the one advertised by the TV.
Following, we demonstrate how anyone can develop and deploy their malicious HbbTV application. We show the feasibility of HbbTV hijacking attacks by replacing the legit application in a (pre-recorded) broadcast stream and re-modulating the signal to a Smart TV. We exploit our ToEs smart TVs using HbbTV following our proposed threat model. In particular, we focus on Denial of Service (making the TV unusable), Spoofing (replacing news banners with fake ones), and Phishing (tricking users into inputting sensitive information, like credentials) threats. All our three ToEs are affected by such threats, showing the risks that users are subject to. Finally, we show how both the Toshiba and LG TVs can be used to scan the local network they are connected to and send HTTP requests to other connected devices, broadening the attack surface and potentially hindering the safety of users in case of critical devices connected, such as health monitors.

Unawakened Wakeup: A New PHP Object Injection Technique for __wakeup() Bypass Hiroki Matsukuma

PHP Object Injection is one of the critical vulnerabilities in web field as counted in OWASP Top Ten in 2017 and 2021. It allows an attacker to get shell access or read/write files by performing code reuse attack with carefully crafted objects (POP gadgets). Many researchers have developed powerful POP gadget chains however PHP package developers have also worked to reduce POP gadgets.
Some of web application frameworks and libraries have neutralized their POP gadgets by overriding __wakeup() to force an exception during deserialization. This kind of change is very simple for developers and works effectively as a mitigation. For example, Guzzle/RCE1 of PHPGGC, the POP gadget chain used for PoC exploit for CVE-2019-6340 of Drupal RCE, no longer works after guzzlehttp/guzzle 6.3.2 released in 2018.
In this talk, we will introduce a new technique that could bypass __wakeup() for PHP Object Injection with demonstration of the concept by reviving Guzzle/RCE1 to the present on Neos Flow framework. This talk will benefit penetration testers, exploit developer, and CTF players.

Now I See You: Pwning the Synology BC500 Camera Emanuele Barbeno Yves Bieri

Compass Security participated in the Pwn2Own 2023 contest held in Toronto, focusing on the Synology BC500 IP camera within the Surveillance Systems category. Our team successfully discovered various vulnerabilities, including one for which we wrote an unauthenticated Remote Code Execution (RCE) exploit. We'll begin the talk by explaining the analysis we performed on the physical device.
We'll showcase the discovered debugging interfaces and outline how we analyzed the authentication mechanism and gained shell access as root. This was the first step required for starting the vulnerability discovery process.
In the next section we'll explain the weaknesses we discovered during our investigation and we'll talk about the exploitation of the unauthenticated RCE, highlighting unique challenges introduced by the Pwn2Own competition, such as stringent time constraints and collision concerns, which may not necessarily affect real-world attackers.
Finally, we will describe the development process we used to write the proof of concept of the exploit. We'll talk about various challenges we encountered and design choices we made to ensure the creation of a robust and reliable exploit.
You can find all the articles describing this whole process in details in our blog.

Voltage Glitching Intel Microcode Federico Cerutti

Intel SGX and AMD SEV secure enclaves have been proven vulnerable to voltage glitching attacks such as Plundervolt. But for how isolated it might be, the code running in enclaves still is x86 assembly. This raises the question: could such an accessible attack vector compromise the microarchitectural state of the CPU as well? However, without any public documentation, Intel microcode is an ambitious target. Luckily, hardware hackers have unlocked debugging on Intel Goldmont CPUs, reverse engineered the microcode format, and analyzed the microcode update process. In this talk, I will share how I built my glitching setup using coreboot to attack Goldmont microcode, uncovering new fault types in both architectural x86 operations and microinstructions. Although I was not successful in installing unsigned microcode, I identified critical injection points in the microcode update process that disrupt normal behavior. (micro)instruction skips are still cool though, right? 🙂