From 5ce894ed10e1d1c9af138425f59983830435835e Mon Sep 17 00:00:00 2001
From: throwaway96 <68320646+throwaway96@users.noreply.github.com>
Date: Sat, 16 Dec 2023 00:15:42 -0500
Subject: [PATCH] README: make it clearer that it's patched
---
README.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 53 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index 8140757..bf67fd0 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,8 @@
![RootMyTV header image](./img/header_logo.png)
+> [!IMPORTANT]
+> RootMyTV is unlikely to work on your TV. [Find out why](#vulnerable).
+
RootMyTV is a user-friendly exploit for rooting/jailbreaking LG webOS smart TVs.
It bootstraps the installation of the [webOS Homebrew Channel](https://github.com/webosbrew/webos-homebrew-channel),
@@ -9,18 +12,62 @@ community-developed open source app, that makes it easier to develop and install
If you want the full details of how the exploit works, [skip ahead to our writeup](#research-summary-and-timeline).
-# Is my TV vulnerable? (short answer: no)
+# Is my TV vulnerable? (short answer: no)
**The vulnerabilities used by RootMyTV (both v1 and v2) have been patched by LG.
RootMyTV is unlikely to work on firmware released since mid-2022.**
-If you get a `"Denied method call "download" for category "/""` error, your TV is patched.
-If your TV reboots but Homebrew Channel is not installed, it is likely patched.
-Firmware downgrades are no longer possible without already having root access.
+> [!IMPORTANT]
+> If you get a `"Denied method call "download" for category "/""` error, your TV is patched.
+> If your TV reboots but Homebrew Channel is not installed, it is likely patched.
+> Firmware downgrades are no longer possible without already having root access.
-RootMyTV never worked on webOS versions prior to 3.4.0 or newer than 6.2.x.
+The following table lists the first webOS version for each year's models that is
+known to **not** support RootMyTV:
+| TV model year | Base webOS version | RootMyTV patched since webOS version |
+| ------------- | ------------------ | ------------------------------------ |
+| 2016 | 3.0 | 3.4.2 |
+| 2017 | 3.5 | 3.9.2 |
+| 2018 | 4.0 | 4.4.2 |
+| 2019 | 4.5 | 4.9.7 |
+| 2020 | 5 | 5.4.0 |
+| 2021 | 6 | 6.3.0 |
-Note: this versioning refers to the "webOS TV Version" field in the settings menu, *not* the "Software Version" field.
+If your webOS version is equal to or greater than the version in the "patched
+since" column for your TV's model year, **your TV is not vulnerable to
+RootMyTV**. While these versions and newer are definitely patched, older
+versions may or may not work. RootMyTV never worked on webOS versions prior to
+3.4.0 or any TVs that came with webOS 1, 2, 7 (22), or 8 (23).
+
+
+More information about webOS version numbers
+
+Depending on the year a TV was released, it uses a certain range of webOS version
+numbers.
+
+The versions before 2016 and after 2019 are easy to understand, since the first
+digit is used only for a single year (e.g., every 6.x.y version is for a 2021
+TV).
+
+However, LG did something unusual in 2017 and 2019 by not using a new first
+digit. TVs from 2017 and 2019 started from webOS versions 3.5 and 4.5,
+respectively. For example, TVs released in 2016 will have webOS versions equal
+to or greater than 3.0.0 and less than 3.5.0; TVs released in 2017 will use
+3.5.0 up to (but not including) 4.0.0; and so on.
+
+Note that when trying to determine when a given webOS version was released,
+you should only compare it with version numbers from the same model year.
+For example, it is safe to assume version 3.4.1 was released after 3.3.0. But
+version 3.4.2 could have been (and in fact was) released after version 4.0.0.
+
+With webOS 7 in 2022, LG started using the marketing name "webOS 22"; the same
+applies to webOS 8 ("webOS 23").
+
+
+
+
+> [!NOTE]
+> This versioning refers to the "webOS TV Version" field in the settings menu, *not* the "Software Version" field.
*If you want to protect your TV against remote exploitation, please see the
[relevant section](#mitigation-note) of our writeup and/or apply the latest