Numerous vulnerabilities in Xunlei Accelerator application

Xunlei Accelerator (迅雷客户端) a.k.a. Xunlei Thunder by the China-based Xunlei Ltd. is a wildly popular application. According to the company’s annual report 51.1 million active users were counted in December 2022. The company’s Google Chrome extension 迅雷下载支持, while not mandatory for … | Continue reading


@palant.info | 1 month ago

Implementing a “Share on Mastodon” button for a blog

I decided that I would make it easier for people to share my articles on social media, most importantly on Mastodon. However, my Hugo theme didn’t support showing a “Share on Mastodon” button yet. It wasn’t entirely trivial to add support either: unlike with centralized solutions … | Continue reading


@palant.info | 6 months ago

A year after the disastrous breach, LastPass has not improved

In September last year, a breach at LastPass’ parent company GoTo (formerly LogMeIn) culminated in attackers siphoning out all data from their servers. The criticism from the security community has been massive. This was not so much because of the breach itself, such things happe … | Continue reading


@palant.info | 7 months ago

Chrome Sync privacy is still very bad

Five years ago I wrote an article about the shortcomings of Chrome Sync (as well as a minor issue with Firefox Sync). Now Chrome Sync has seen many improvements since then. So time seems right for me to revisit it and to see whether it respects your privacy now. Spoiler: No, it d … | Continue reading


@palant.info | 8 months ago

Why browser extension games need access to all websites

When installing browser extensions in Google Chrome, you are asked to confirm the extension’s permissions. In theory, this is supposed to allow assessing the risk associated with an extension. In reality however, users typically lack the knowledge to properly interpret this promp … | Continue reading


@palant.info | 10 months ago

Another cluster of potentially malicious Chrome extensions

We’ve already seen Chrome extensions containing obfuscated malicious code. We’ve also seen PCVARK’s malicious ad blockers. When looking for more PCVARK extensions, I stumbled upon an inconspicuous extension called “Translator - Select to Translate.” The only unusual thing about i … | Continue reading


@palant.info | 10 months ago

Introducing PCVARK and their malicious ad blockers

It isn’t news that the overwhelming majority of ad blockers in Chrome Web Store is either outright malicious or waiting to accumulate users before turning malicious. So it wasn’t a surprise that the very first ad blocker I chose semi-randomly (Adblock Web with 700,000 users) turn … | Continue reading


@palant.info | 10 months ago

How malicious extensions hide running arbitrary code

Two days ago I wrote about the malicious extensions I discovered in Chrome Web Store. At some point this article got noticed by Avast. Once their team confirmed my findings, Google finally reacted and started removing these extensions. Out of the 34 extensions I reported, only 8 … | Continue reading


@palant.info | 11 months ago

More malicious extensions in Chrome Web Store

Two weeks ago I wrote about the PDF Toolbox extension containing obfuscated malicious code. Despite reporting the issue to Google via two different channels, the extension remains online. It even gained a considerable number of users after I published my article. A reader tipped … | Continue reading


@palant.info | 11 months ago

Malicious code in PDF Toolbox extension

The PDF Toolbox extension for Google Chrome has more than 2 million users and an average rating of 4,2 in the Chrome Web Store. So I was rather surprised to discover obfuscated code in it that has apparently gone unnoticed for at least a year. The code has been made to look like … | Continue reading


@palant.info | 11 months ago

Online Security extension: Destroying privacy for no good reason

Most Online Security functionality is already provided by the browser, and there is little indication that it can improve on that. It does implement its functionality in a maximally privacy-unfriendly way however, sharing your browsing history and installed extensions with the ve … | Continue reading


@palant.info | 11 months ago

A way forward for PfP: Pain-free Passwords

A month ago I announced the end of PfP: Pain-free Passwords. But I’m allowed to change my mind, right? Yes, PfP will be developed further after all. However, it’s so different that I’m publishing it as a new browser extension, not an update to the existing extension. Rather than … | Continue reading


@palant.info | 12 months ago

Processing a complex syntax with Rust’s declarative macros

I am by no means a Rust expert, and I’m no expert on declarative macros. I was merely solving an issue I had: there was a lot of redundancy in the way my error types were coded. I didn’t want to repeat the same coding patterns all the time, yet the types also seemed too heterogen … | Continue reading


@palant.info | 1 year ago

The end of PfP: Pain-free Passwords

Seven years ago I created a password manager. And a few days ago I pushed out the last release for it, notifying users that nothing else will come now. Yes, with the previous release being from 2019, this might have been obvious. Now it’s official however, PfP: Pain-free Password … | Continue reading


@palant.info | 1 year ago

Converting incoming emails on the fly with OpenSMTPD filters

This little adventure began with me being annoyed at DMARC aggregate reports. My domain doesn’t have enough email traffic to justify routing DMARC emails to some third-party analytics service, yet I want to take a brief glance at them. And the format of these emails makes that ma … | Continue reading


@palant.info | 1 year ago

Veraport: Inside Korea’s dysfunctional application management

As discussed before, South Korea’s banking websites demand installation of various so-called security applications. At the same time, we’ve seen that these applications like TouchEn nxKey and IPinside lack auto-update functionality. So even in case of security issues, it is almos … | Continue reading


@palant.info | 1 year ago

LastPass breach update: The few additional bits of information

Half a year after the LastPass breach started in August 2022, information on it remains sparse. It took until December 2022 for LastPass to admit losing their users’ partially encrypted vault data. This statement was highly misleading, e.g. making wrong claims about the protectio … | Continue reading


@palant.info | 1 year ago

South Korea’s banking security: Intermediate conclusions

A while back I wrote my first overview of South Korea’s unusual approach to online security. After that I published two articles on specific applications. While I’m not done yet, this is enough information to draw some intermediate conclusions. The most important question is: all … | Continue reading


@palant.info | 1 year ago

Automating Windows installation in a VM

I recently switched from VirtualBox to KVM for my virtualization needs. While this approach has clear advantages such as not requiring custom kernel drivers, the downside is that snapshots aren’t currently supported for Windows 11. And since I don’t want applications I analyze to … | Continue reading


@palant.info | 1 year ago

Weakening TLS protection, South Korean style

Normally, when you navigate to your bank’s website you have little reason to worry about impersonations. The browser takes care of verifying that you are really connected to the right server, and that your connection is safely encrypted. It will indicate this by showing a lock ic … | Continue reading


@palant.info | 1 year ago

Password strength explained

The conclusion of my blog posts on the LastPass breach and on Bitwarden’s design flaws is invariably: a strong master password is important. This is especially the case if you are a target somebody would throw considerable resources at. But everyone else might still get targeted … | Continue reading


@palant.info | 1 year ago

IPinside: Korea’s mandatory spyware

Note: This article is also available in Korean. On our tour of South Korea’s so-called security applications we’ve already took a look at TouchEn nxKey, an application meant to combat keyloggers by … checks notes … making keylogging easier. Today I want to shed some light on anot … | Continue reading


@palant.info | 1 year ago

Bitwarden design flaw: Server side iterations

In the aftermath of the LastPass breach it became increasingly clear that LastPass didn’t protect their users as well as they should have. When people started looking for alternatives, two favorites emerged: 1Password and Bitwarden. But do these do a better job at protecting sens … | Continue reading


@palant.info | 1 year ago

TouchEn nxKey: The keylogging anti-keylogger solution

I wrote about South Korea’s mandatory so-called security applications a week ago. My journey here started with TouchEn nxKey by RaonSecure which got my attention because the corresponding browser extension has more than 10 million users – the highest number Chrome Web Store will … | Continue reading


@palant.info | 1 year ago

South Korea’s online security dead end

Last September I started investigating a South Korean application with unusually high user numbers. It took me a while to even figure out what it really did, there being close to zero documentation. I eventually realized that the application is riddled with security issues and, d … | Continue reading


@palant.info | 1 year ago

LastPass breach: The significance of these password iterations

LastPass has been breached, data has been stolen. I already pointed out that their official statement is misleading. I also explained that decrypting passwords in the stolen data is possible which doesn’t mean however that everybody is at risk now. For assessing whether you are a … | Continue reading


@palant.info | 1 year ago

What’s in a PR statement: LastPass breach explained

Right before the holiday season, LastPass published an update on their breach. As people have speculated, this timing was likely not coincidental but rather intentional to keep the news coverage low. Security professionals weren’t amused, this holiday season became a very busy ti … | Continue reading


@palant.info | 1 year ago

What data does LastPass encrypt?

A few days ago LastPass admitted that unknown attackers copied their “vault data.” It certainly doesn’t help that LastPass failed to clarify which parts of the vaults are encrypted and which are not. LastPass support adds to the confusion by stating that password notes aren’t enc … | Continue reading


@palant.info | 1 year ago

LastPass has been breached: What now?

If you have a LastPass account you should have received an email updating you on the state of affairs concerning a recent LastPass breach. While this email and the corresponding blog post try to appear transparent, they don’t give you a full picture. In particular, they are rathe … | Continue reading


@palant.info | 1 year ago

Common pitfalls of breaking up HTTPS connections

Let me say it up front: breaking up end-to-end-encrypted HTTPS connections is bad. No matter why you think that you need to inspect and/or modify the contents of an HTTPS connection, please consider not doing it. And if you still think that you absolutely need it, please sit down … | Continue reading


@palant.info | 1 year ago

Scirge: When Your Employer Mandates spyware

Scirge browser extension allows employers to spy on their employees. To make matters worse, it obfuscates data transmissions. | Continue reading


@palant.info | 1 year ago

When extension pages are web-accessible

In the article discussing the attack surface of extension pages I said: Websites, malicious or not, cannot usually access extension pages directly however. And then I proceeded talking about extension pages as if this security mechanism were always in place. But that isn’t the ca … | Continue reading


@palant.info | 1 year ago

Attack surface of extension pages

In the previous article we discussed extension privileges. And as we know from another article, extension pages are the extension context with full access to these privileges. So if someone were to attack a browser extension, attempting Remote Code Execution (RCE) in an extension … | Continue reading


@palant.info | 1 year ago

Impact of extension privileges

As we’ve seen in the previous article, a browser extension isn’t very different from a website. It’s all the same HTML pages and JavaScript code. The code executes in the browser’s regular sandbox. So what can websites possibly gain by exploiting vulnerabilities in a browser exte … | Continue reading


@palant.info | 1 year ago

Anatomy of a basic extension

I am starting an article series explaining the basics of browser extension security. It’s meant to provide you with some understanding of the field and serve as a reference for my more specific articles. You can browse the extension-security-basics category to see other published … | Continue reading


@palant.info | 1 year ago

Hijacking webcams with Screencastify

Everyone has received the mails trying to extort money by claiming to have hacked a person’s webcam and recorded a video of them watching porn. These are a bluff of course, but the popular Screencastify browser extension actually provides all the infrastructure necessary for some … | Continue reading


@palant.info | 1 year ago

Adobe Acrobat hollowing out same-origin policy

Adobe Acrobat extension provided Adobe website with a way to download data from anywhere. Unsurprisingly, this power could be abused by other websites as well. | Continue reading


@palant.info | 1 year ago

Party time: Injecting code into Teleparty extension

Teleparty, formerly called Netflix Party, is a wildly popular browser extension with at least 10 million users on Google Chrome (likely much more as with Chrome Web Store anything beyond 10 million is displayed as “10,000,000+”) and 1 million users on Microsoft Edge. It lets peop … | Continue reading


@palant.info | 2 years ago

Skype extension: All functionality broken? Still exploitable!

One of the most popular Chrome extensions is Skype, a browser extension designed as a helper for the Skype application. Back when I reported the issues discussed here it was listed in Chrome Web Store with more than 10 million users, at the time of writing more than 9 million use … | Continue reading


@palant.info | 2 years ago

Writing my own build system: Coupling gulp concepts with modern JavaScript

I’ve been using gulp.js as the build system of choice for my browser extensions for a while. Last week I suddenly felt an urge to develop something better, and now I have PfP being built by my very own build system. Did I suddenly succumb to the NIH syndrome? Well, I believe that … | Continue reading


@palant.info | 2 years ago

Abusing Keepa Price Tracker to track users on Amazon pages

Two critical vulnerabilities affected users of the Keepa extension, exposing them to tracking of their Amazon shopping and even data leaks. | Continue reading


@palant.info | 2 years ago

Pitfalls of Data Anonymization

Analyzing a sample of Jumpshot data confirms the suspicion that Avast did indeed sell personally identifiable data of their users, lots of it. | Continue reading


@palant.info | 2 years ago

Data Exfiltration in Keepa Price Tracker for Amazon

The Keepa browser extension collects detailed data about your Amazon visits despite claiming otherwise in the privacy policy. It will also actively use your bandwidth to scrape the Amazon website. | Continue reading


@palant.info | 2 years ago

Follow-up on Amazon Assistant's data collection

A closer look at Amazon Assistant’s TitanClient component, charged with data collection. Lots of data being collected here, on Google Search and various web shops. | Continue reading


@palant.info | 3 years ago

DuckDuckGo Privacy Essentials Vulnerabilities

Insecure internal communication in DuckDuckGo Privacy Essentials leaked some info across domains, and an XSS vulnerability was exploitable by its server. | Continue reading


@palant.info | 3 years ago

Master password in Firefox or Thunderbird? Do not bother (2018)

There is a weakness common to any software letting you protect a piece of data with a password: how does that password translate into an encryption key? If that conversion is a fast one, then you better don’t expect the encryption to hold. Somebody who gets hold of that encrypted … | Continue reading


@palant.info | 3 years ago

What would you risk for free Honey?

The Honey browser extension allows its server to run arbitrary code on any website, via at least four different mechanisms and obfuscating the code being loaded. | Continue reading


@palant.info | 3 years ago

Setup for testing Android app vulnerabilities

Documenting my setup: Android emulator, minimal Android app and instrumenting the target app via Soot to get debugging info. | Continue reading


@palant.info | 3 years ago