1
15
App compatibility with GrapheneOS (discuss.grapheneos.org)
submitted 11 months ago* (last edited 11 months ago) by akc3n@lemmy.ml to c/grapheneos@lemmy.ml

A step-by-step troubleshooting guide for problematic apps with possible workaround solutions.

https://discuss.grapheneos.org/d/8330-app-compatibility-with-grapheneos

2
22

GrapheneOS users on 8th/9th gen Pixels are making a massive contribution to getting memory corruption bugs in the open source ecosystem thanks to the nice crash report notifications created by our hardware memory tagging feature. One of the latest fixes:

https://github.com/mullvad/mullvadvpn-app/pull/6727/files

Someone should report C.GoString being broken in Go's cgo. Reading an entire page before and after an object that's passed is incredibly broken undefined behavior. They're relying on memory allocation and memory protection having page granularity at a low level which is wrong.

GrapheneOS users have repeatedly found memory corruption bugs in WireGuard-based apps on Android. It's possible most of these are largely caused by memory corruption in the Go runtime because they're playing fast and loose with memory accesses outside the bounds of objects...

GrapheneOS always uses heap memory tagging for every process in the base OS with a single exception (camera HAL). Our implementation is guaranteed to catch all small/linear overflows and even use-after-free until a certain number of allocation cycles for that size class occur.

It has a 14/15 chance to catch any other kind of heap corruption for the standard system allocators.

Since it catches memory corruption as the read or write occurs, it produces very useful tracebacks for devs. We provide them to users with a UI to copy it to report bugs to devs.

Our users on 8th/9th gen Pixels can enable it for all user installed apps via Settings > Security & privacy > Exploit protection > Memory tagging. Use the per-app toggle for incompatible apps and report the bugs to them. It's not used for most user installed apps by default yet.

Apps can mark themselves as compatible with memory tagging to opt-in to having it on GrapheneOS. We also have an app compatibility database where we can add known compatible apps to enable it by default and incompatible ones which skips them with the global default opt-in toggle.

Hardware memory tagging in the security-focused asymmetric mode has very low overhead. Latent memory corruption bugs occurring during regular use in many apps is the only blocker for us enabling it by default for every user installed app as we already do for all base OS apps.

One of the memory corruption bugs in Go being caught by memory tagging on GrapheneOS was reported to Go in September 2018 and is still unfixed today:

https://github.com/golang/go/issues/27610

Reading outside bounds of objects from other languages is a serious memory safe violation, not benign.

3
15

Pixel 4a (5G), Pixel 5 and Pixel 5a are end-of-life and shouldn't be used anymore due to lack of security patches for firmware and drivers. We provide extended support for harm reduction.

Tags:

  • 2024092900-redfin (Pixel 4a (5G), Pixel 5)
  • 2024092900 (Pixel 5a, Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, Pixel 8, Pixel 8 Pro, Pixel 8a, emulator, generic, other targets)
  • 2024091900-caimito (Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold)

Changes since the 2024091900 release:

  • extend standard Android eBPF filter to prevent apps sending multicast packets outside of the VPN tunnel either directly or indirectly via kernel-generated multicast traffic (IGMP, MLD) when leak blocking is enabled (2nd generation implementation with improved app compatibility)
  • add netfilter-based multicast firewall only permitting sending multicast packets to permitted tunnel interfaces for the process to prevent apps sending multicast packets through a VPN tunnel for another profile (2nd generation implementation with improved IPv6 and app compatibility)
  • Sandboxed Google Play compatibility layer: add stub for Bluetooth AdvertisingSetParameters.setOwnAddressType() API needed for receiving files through Quick Share
  • Sandboxed Google Play compatibility layer: ignore GattServer in BTLeAdvertiser.startAdvertisingSet() needed for receiving files through Quick Share
  • Auditor: add battery optimization exception to avoid delays for the opt-in scheduled remote verification since users rarely interact with the app resulting in it being placed into semi-restricted standby buckets
  • kernel (6.6): update to latest GKI LTS branch revision
  • Auditor: update to version 86
  • App Store: update to version 26
  • Vanadium: update to version 129.0.6668.70.0
  • GmsCompatConfig: update to version 138
  • GmsCompatConfig: update to version 139
4
3

Changes in version 139:

  • update max supported version of Play services to 24.38
  • update max supported version of Play Store to 42.9

A full list of changes from the previous release (version 138) is available through the Git commit log between the releases (only changes to the gmscompat_config text file and config-holder/ directory are part of GmsCompatConfig).

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release.

5
16

Notable changes in version 26:

  • raise TLS key pinning expiry date
  • update Gradle to 8.10.1
  • update AndroidX Lifecycle libraries to 2.8.6
  • update AndroidX Navigation libraries to 2.8.1
  • update Android Gradle plugin to 8.6.1

A full list of changes from the previous release (version 25) is available through the Git commit log between the releases.

App Store is the client for the GrapheneOS app repository. It's included in GrapheneOS but can also be used on other Android 12+ operating systems. Our app repository currently provides our standalone apps, out-of-band updates to certain GrapheneOS components and a mirror of the core Google Play apps and Android Auto to make it easy for GrapheneOS users to install sandboxed Google Play with versions of the Google Play apps we've tested with our sandboxed Google Play compatibility layer.

GrapheneOS users must either obtain GrapheneOS app updates through our App Store or install it with adb install-multiple with both the APK and fs-verity metadata since fs-verity metadata is now required for out-of-band system app updates on GrapheneOS as part of extending verified boot to them.

6
12

Notable changes in version 86:

  • remove Auditee self-check to avoid most error reporting on the Auditee side to give the Auditor side including our remote attestation service more visibility into why failures are happening
  • drop support for obsolete deny new USB setting which was replaced by our newer generation USB-C port and pogo pins not currently accessible to Auditor (a near future GrapheneOS release will add support for the built-in Auditor app reading the new setting and we'll add support for reporting the full set of modes)
  • change the High security level to meaning the combination of a StrongBox Hardware Security Module (Pixel 3 and later) and a pairing-specific attestation signing key (Pixel 6 and later for pairings made since we added support for it in June 2022) instead of displaying it as Very High and display only having StrongBox as Standard since every non-end-of-life Pixel has both features
  • extend certificate validity for attestation responses by 5 minutes for a total validity period of 15 minutes due to the existing 5 minute leeway before and after
  • drop support for earlier protocol versions and raise minimum Auditor version to 73 where the current protocol version was introduced
  • modernize code including very minor performance improvements
  • update Gradle to 8.10.1
  • update Guava library to 33.3.1

A full list of changes from the previous release (version 85) is available through the Git commit log between the releases.

The Auditor app uses hardware security features on supported devices to validate the integrity of the operating system from another Android device. It will verify that the device is running the stock operating system with the bootloader locked and that no tampering with the operating system has occurred. It will also detect downgrades to a previous version.

It cannot be bypassed by modifying or tampering with the operating system (OS) because it receives signed device information from the device's Trusted Execution Environment (TEE) or Hardware Security Module (HSM) including the verified boot state, operating system variant and operating system version. The verification is much more meaningful after the initial pairing as the app primarily relies on Trust On First Use via pinning. It also verifies the identity of the device after the initial verification. Trust is chained through the verified OS to the app to bootstrap software checks with results displayed in a separate section.

This app is available through the Play Store with the app.attestation.auditor.play app id. Play Store releases go through review and it usually takes around 1 to 3 days before the Play Store pushes out the update to users. Play Store releases use Play Signing, so we use a separate app id from the releases we publish ourselves to avoid conflicts and to distinguish between them. Each release is initially pushed out through the Beta channel followed by the Stable channel.

Releases of the app signed by GrapheneOS with the app.attestation.auditor app id are published in the GrapheneOS App Store and on GitHub. These releases are also bundled as part of GrapheneOS. You can use the GrapheneOS App Store on Android 12 or later for automatic updates. Each release is initially pushed out through the Alpha channel, followed by the Beta channel and then finally the Stable channel.

7
3

Registering on our forum wasn't working for part of September 24th due to a new anti-spam mechanism going wrong. The issue has been resolved now.

https://discuss.grapheneos.org/

If you have any issues with this, please report it in our infrastructure room on Matrix/Discord/Telegram.

8
9

Changes in version 129.0.6668.70.0:

  • update to Chromium 129.0.6668.70
  • rewrite our change for skipping autofill service compatibility checks to resolve a regression

A full list of changes from the previous release (version 129.0.6668.54.0) is available through the Git commit log between the releases.

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release. Vanadium isn't yet officially available for users outside GrapheneOS, although we plan to do that eventually. It won't be able to provide the WebView outside GrapheneOS and will have missing hardening and other features.

9
7

No release notes given. Commit history from this release to last release can be viewed here

10
12

Pixel 4a (5G), Pixel 5 and Pixel 5a are end-of-life and shouldn't be used anymore due to lack of security patches for firmware and drivers. We provide extended support for harm reduction.

We need more people to use the Beta channel and quickly report regressions in the new releases before they reach Stable. If you're using the Alpha or Beta channels, please join the testing chat room on either Matrix, Discord or Telegram and report regressions in new releases. Our public testing process only works if regressions are reported before the release reaches Stable. For releases with urgent compatibility and security fixes, we try to get it through public testing in 24 hours so we need reports of regressions right away. We've moved 5th generation Pixels to legacy extended support around a month early since we're not getting the feedback we would need to have confidence in shipping the next round of multicast leak blocking for them. They're insecure legacy devices regardless.

Tags:

  • 2024091900-redfin (Pixel 4a (5G), Pixel 5)
  • 2024091900 (Pixel 5a, Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, Pixel 8, Pixel 8 Pro, Pixel 8a, emulator, generic, other targets)
  • 2024091900-caimito (Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold)

Changes since the 2024091700 release:

  • temporarily revert multicast leak blocking firewall due to causing legacy 5th gen devices to lose compatibility with IPv6-only carriers along with causing certain compatibility issues with IPv6 on Wi-Fi
  • temporarily revert multicast leak blocking eBPF filter extensions until app compatibility is addressed in a similar way as the Network permission mimics non-security errors
11
20
submitted 1 week ago* (last edited 1 week ago) by KindnessInfinity@lemmy.ml to c/grapheneos@lemmy.ml

Our latest release blocked a class of VPN leaks via multicast packets discovered by our community. Unfortunately, end-of-life Pixel 4a (5G), Pixel 5 and Pixel 5a have an upstream kernel bug that's causing it to break compatibility with IPv6-only carriers. We're dealing with it.

We're hardly getting any testing feedback for the end-of-life devices which led to this issue slipping into the Stable channel. Our extended support for 5th gen devices will become legacy extended support after Android 15 meaning they won't get these kinds of changes anymore.

Our extended support releases have only ever been planned for the legacy Pixel 5a and earlier with less than 5 years of support from launch. We provide extended support until the first yearly release not supporting them and then switch to a legacy extended support branch.

We likely should have only provided legacy extended support releases via a legacy branch as soon as devices were end-of-life. Extended support encourages people to stick with insecure end-of-life devices and lead to regressions like this but we caught previous ones before Stable.

We're providing one final extended support release for 5th generation Pixels reverting these changes and then they're becoming legacy extended support. This would have happened in October with the stable release of Android 15 regardless, so it makes very little difference.

Separately from this, our multicast leak prevention is causing minor app compatibility issues due to apps trying to use multicast when a VPN is enabled with leak blocking and then not catching the SecurityException which the low-level EPERM error is being converted into for them.

We'll be making a release today reverting our multicast leak prevention for all devices and will begin work fixing the minor app compatibility issues to ship it again.

5th gen will be switched to legacy extended support a few weeks early to work around the old Linux kernel bugs.

Main app compatibility issue is with the DuckDuckGo app's "App Tracking Prevention" feature based on a VPN service. If you use that feature and upgraded to our cancelled 2024091700 release, that's the issue you're having. Likely an app bug, but we'll make sure it works next time.

There may also be compatibility issues with IPv6-only Wi-Fi networks. We're working on resolving this too. We were treating this as security patches and unfortunately we didn't get any reports of any app or network compatibility issues during the 20 hours of public Beta testing.

12
21

Pixel 4a (5G), Pixel 5 and Pixel 5a are end-of-life and shouldn't be used anymore due to lack of security patches for firmware and drivers. We provide extended support for harm reduction.

Tags:

  • 2024091700-redfin (Pixel 4a (5G), Pixel 5)
  • 2024091700 (Pixel 5a, Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, Pixel 8, Pixel 8 Pro, Pixel 8a, emulator, generic, other targets)
  • 2024091700-caimito (Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold)

Changes since the 2024090400 release:

  • Sandboxed Google Play compatibility layer: handle the updated client dynamite module initialization sequence
  • extend standard Android eBPF filter to prevent apps sending multicast packets outside of the VPN tunnel either directly or separately via kernel-generated multicast traffic (IGMP, MLD) when leak blocking is enabled
  • add netfilter-based multicast firewall only permitting sending multicast packets to permitted interfaces for the process to prevent apps sending multicast packets through a disallowed interface such as a VPN tunnel for another profile
  • exclude com.android.rkpdapp from backup/restore to avoid breaking key provisioning for hardware key attestation including for Auditor (users can clear RemoteProvisioner system app data via Settings if they restored data for it and have this issue)
  • Pixel 9 Fold Pro: temporarily manually add resource overlays not yet automatically handled by adevtool from the stock Pixel OS to use the correct layout for quick settings, status bar, etc. and to provide the split folded/unfolded auto-rotate settings (this will be replaced by adevtool improvements before the end of the month since we'll need it for more resources in Android 15)
  • hardened_malloc: fix microdroid virtual machine compatibility by using armv8a+dotprod+memtag when enabling memory tagging instead of armv9+memtag
  • init: disable auto-reboot setup for microdroid virtual machines
  • expat: backport patches for CVE-2024-28757, CVE-2024-45490, CVE-2024-45491 and CVE-2024-45492 (none of these is exploitable on official GrapheneOS since the DoS bug involves a feature Android doesn't use, the integer overflows require that size_t is 32-bit which is never going to be the case due to the code only being used in 64-bit processes and the negative parameter API issue requires a usage pattern not done by Android, but the integer overflows would be exploitable on an official build for a 32-bit device or a 64-bit device still partially using 32-bit drivers)
  • kernel (5.10): update to latest GKI LTS branch revision including update to 5.10.225
  • kernel (5.15): update to latest GKI LTS branch revision including update to 5.15.165
  • kernel (6.1): update to latest GKI LTS branch revision including update to 6.1.104
  • kernel (6.6): update to latest GKI LTS branch revision including update to 6.6.51
  • TalkBack (screen reader): update dependencies
  • Vanadium: update to version 128.0.6613.127.0
  • Vanadium: update to version 128.0.6613.146.0
  • Vanadium: update to version 129.0.6668.54.0
  • App Store: update to version 25
  • Auditor: update to version 85
  • Info: update to version 4
  • GmsCompatConfig: update to version 136
  • GmsCompatConfig: update to version 137
13
15

Changes in version 129.0.6668.54.0:

  • update to Chromium 129.0.6668.54

A full list of changes from the previous release (version 128.0.6613.146.0) is available through the Git commit log between the releases.

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release. Vanadium isn't yet officially available for users outside GrapheneOS, although we plan to do that eventually. It won't be able to provide the WebView outside GrapheneOS and will have missing hardening and other features.

14
4

Changes in version 137:

  • update max supported version of Play services to 24.36
  • update max supported version of Play Store to 42.7

A full list of changes from the previous release (version 136) is available through the Git commit log between the releases (only changes to the gmscompat_config text file and config-holder/ directory are part of GmsCompatConfig).

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release.

15
5

Changes in version 128.0.6613.146.0:

  • update to Chromium 128.0.6613.146

A full list of changes from the previous release (version 128.0.6613.127.0) is available through the Git commit log between the releases.

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release. Vanadium isn't yet officially available for users outside GrapheneOS, although we plan to do that eventually. It won't be able to provide the WebView outside GrapheneOS and will have missing hardening and other features.

16
10
submitted 3 weeks ago* (last edited 3 weeks ago) by KindnessInfinity@lemmy.ml to c/grapheneos@lemmy.ml

Our Android 15 port is increasingly solid. It can currently be tested by building the OS via https://grapheneos.org/build. Since there aren't stable releases of Android 15 available yet, we currently support using the firmware, etc. from the Pixel Android 15 Beta releases for Pixels.

17
6

Changes in version 136:

  • update max supported version of Play Store to 42.6
  • add stub for BluetoothDevice.setPairingConfirmation()
  • update SDK to 35 (Android 15)
  • update target API level to 35 (Android 15)

A full list of changes from the previous release (version 135) is available through the Git commit log between the releases (only changes to the gmscompat_config text file and config-holder/ directory are part of GmsCompatConfig).

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release.

18
5

Notable changes in version 85:

  • make remote verification more prominent by moving it to the main screen from the action menu
  • use correct theme for attestation activity background color
  • add support for Material You
  • update NDK to 27.1.12297006
  • enable generation of v4 APK signatures to replace fs-verity metadata for updates on Android 15 GrapheneOS

A full list of changes from the previous release (version 84) is available through the Git commit log between the releases.

The Auditor app uses hardware security features on supported devices to validate the integrity of the operating system from another Android device. It will verify that the device is running the stock operating system with the bootloader locked and that no tampering with the operating system has occurred. It will also detect downgrades to a previous version.

It cannot be bypassed by modifying or tampering with the operating system (OS) because it receives signed device information from the device's Trusted Execution Environment (TEE) or Hardware Security Module (HSM) including the verified boot state, operating system variant and operating system version. The verification is much more meaningful after the initial pairing as the app primarily relies on Trust On First Use via pinning. It also verifies the identity of the device after the initial verification. Trust is chained through the verified OS to the app to bootstrap software checks with results displayed in a separate section.

This app is available through the Play Store with the app.attestation.auditor.play app id. Play Store releases go through review and it usually takes around 1 to 3 days before the Play Store pushes out the update to users. Play Store releases use Play Signing, so we use a separate app id from the releases we publish ourselves to avoid conflicts and to distinguish between them. Each release is initially pushed out through the Beta channel followed by the Stable channel.

Releases of the app signed by GrapheneOS with the app.attestation.auditor app id are published in the GrapheneOS App Store. These releases are also bundled as part of GrapheneOS. You can use the GrapheneOS App Store for automatic updates. Each release is initially pushed out through the Alpha channel, followed by the Beta channel and then finally the Stable channel.

19
12

Notable changes in version 25:

  • add support for using v4 APK signatures instead of fs-verity metadata on Android 15
  • enable generation of v4 APK signatures to replace fs-verity metadata for updates on Android 15 GrapheneOS
  • skip system package check for static dependencies self checks
  • extend workaround for PackageInstaller sessions getting stuck to newer Android versions
  • update AndroidX Lifecycle libraries to 2.8.5
  • update AndroidX Navigation KTX libraries to 2.8.0
  • update AndroidX Fragment library to 1.8.3
  • update AndroidX Activity KTX library to 1.9.2
  • update Gradle to 8.10
  • update Android Gradle plugin to 8.6.0
  • update Kotlin to 2.0.20
  • update Kotlin Symbol Processing to 1.0.25

A full list of changes from the previous release (version 24) is available through the Git commit log between the releases.

App Store is the client for the GrapheneOS app repository. It's included in GrapheneOS but can also be used on other Android 12+ operating systems. Our app repository currently provides our standalone apps, out-of-band updates to certain GrapheneOS components and a mirror of the core Google Play apps and Android Auto to make it easy for GrapheneOS users to install sandboxed Google Play with versions of the Google Play apps we've tested with our sandboxed Google Play compatibility layer.

GrapheneOS users must either obtain GrapheneOS app updates through our App Store or install it with adb install-multiple with both the APK and fs-verity metadata since fs-verity metadata is now required for out-of-band system app updates on GrapheneOS as part of extending verified boot to them.

20
4

Notable changes in version 4:

  • use standard top app bar text style
  • use steadily decreasing header sizes for release notes
  • define night-specific theme to make text selection toolbar and splash screen adapt to the current theme
  • update Kotlin to 2.0.20
  • update Gradle to 8.10
  • update Android Gradle plugin to 8.6.0
  • update Android build tools to 35.0.0
  • update Android NDK to 27.0.12077973
  • update AndroidX Compose BOM to 2024.09.00
  • switch AndroidX Compose UI Text library version from AndroidX Compose BOM now that 1.7.0 has a stable release and is included
  • update AndroidX Compose Navigation to 2.8.0
  • update AndroidX Lifecycle libraries to 2.8.5
  • update AndroidX Activity Compose to 1.9.2
  • enable generation of v4 APK signatures to replace fs-verity metadata for updates on Android 15 GrapheneOS
  • add whitelist of supported languages for resources (currently English)

A full list of changes from the previous release (version 3) is available through the Git commit log between the releases.

Releases of the app are published in the GrapheneOS App Store. These releases are also bundled as part of GrapheneOS. You can use the GrapheneOS App Store on Android 12 or later for automatic updates. Each release is initially pushed out through the Alpha channel, followed by the Beta channel and then finally the Stable channel.

21
16

Ad blocking test at https://d3ward.github.io/toolz/adblock is extremely flawed. It tests domains which are not used for ads/tracking and doesn't take into account that mainstream ad blocking is blocking specific paths hosted at those domains. Mainstream ad blockers also cheat at these tests.

Here's where uBlock Origin simply fudges the results for the test by blocking everything tested by d3ward.github.io:

https://github.com/uBlockOrigin/uAssets/blob/master/filters/filters.txt#L14202-L14206

Brave uses uBlock Origin filters as their base set of filters and then extends it, so it's cheating at the test through that too.

Here's where Adguard cheats at the test, which is at least done case-by-case with explanations:

https://github.com/AdguardTeam/AdguardFilters/blob/daba77058c72b983f2a46b97dca5b669710a7414/SpywareFilter/sections/specific.txt#L4491-L4521

Some of the tested domains are simply not used on other sites. In other cases, it is used that way but blocking it would break sites so they don't do it.

Author is willing to fix issues but since ad blockers are cheating it'd need to be moved to another domain after fixing it.

Vanadium will not include rules for cheating at content filtering tests because we think it would be a breach of user trust, regardless of flaws in a test.

22
8

Changes in version 128.0.6613.127.0:

  • update to Chromium 128.0.6613.127
  • mark Vanadium Config as forceQueryable to support reading the configuration from apps using the WebView for feature flags

A full list of changes from the previous release (version 128.0.6613.99.0) is available through the Git commit log between the releases.

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release. Vanadium isn't yet officially available for users outside GrapheneOS, although we plan to do that eventually. It won't be able to provide the WebView outside GrapheneOS and will have missing hardening and other features.

23
20

Pixel 4a (5G), Pixel 5 and Pixel 5a are end-of-life and shouldn't be used anymore due to lack of security patches for firmware and drivers. We provide extended support for harm reduction.

Tags:

  • 2024090400-redfin (Pixel 4a (5G), Pixel 5)
  • 2024090400 (Pixel 5a, Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, Pixel 8, Pixel 8 Pro, Pixel 8a, emulator, generic, other targets)
  • 2024090400-caimito (Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold)

Changes since the 2024083100 release:

  • full 2024-09-05 security patch level
  • rebased onto AP2A.240905.003 (generic) and AD1A.240905.004 (caimito) Android Open Source Project releases
  • Sandboxed Google Play compatibility layer: add support for using GSF 34 on SDK 35 (Android 15) to handle the case where users have just upgraded the OS but haven't yet updated GSF
  • Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold: fix an upstream use-after-free bug present in 2 drivers
  • allow Pixel Thermometer and Fitbit to see each other as a special case
  • allow current launcher to see the Pixel Thermometer app as a special case
  • kernel (6.6): update to latest GKI LTS branch revision including update to 6.6.47
  • GmsCompatConfig: update to version 134
  • GmsCompatConfig: update to version 135
24
9
submitted 3 weeks ago* (last edited 3 weeks ago) by KindnessInfinity@lemmy.ml to c/grapheneos@lemmy.ml

Our initial port of device-independent GrapheneOS code to Android 15 is done and we're testing it in the emulator. We still need to port the kernels, device-specific repositories, adevtool and generate the new vendor state. Can already be built for emulator from our 15 branch.

25
9

September 2024 Android Security Bulletin includes a patch for the wipe bypass we reported: CVE-2024-32896. It's actively exploited by forensic companies across devices. Pixels patched it in June 2024...

September ASB: https://source.android.com/docs/security/bulletin/2024-09-01June PUB: https://source.android.com/docs/security/bulletin/pixel/2024-06-01

We reported several vulnerabilities exploited by forensic companies in January 2024. We proposed implementing firmware reset attack mitigation and wipe-without-reboot. Pixels shipped reset attack mitigation in April 2024 and also a firmware mitigation making wipe bypasses harder.

In June 2024, Pixels shipped our wipe-without-reboot proposal to fully eliminate wipe bypasses. The full solution is a set of AOSP patches (https://android.googlesource.com/platform/frameworks/base/+/8b7b2c66ca96d711fb364cbcc9d655197d9743e0) but they still classified it as a firmware patch since it was treated as phase 2 of the Pixel firmware patches.

We pointed out that it was actually an AOSP patch which should be shipped for all devices, and they agreed with us and scheduled it for inclusion in September. Wipe bypass is now finally going to be fixed for non-Pixels. Reset attack mitigation will still be missing elsewhere.

We extended wipe-without-reboot with extra wiping and use it as part of our duress PIN/password feature.

Forensic companies are still able to exploit stock OS Pixels, but reset attack mitigation helps prevent bypassing GrapheneOS security via firmware.

https://grapheneos.social/@GrapheneOS/112826160880324005

Each month, there's a new Android monthly, quarterly or yearly release. This month is a monthly release of Android 14 QPR3, the 3rd quarterly release of Android 14 from June 2024. Android Security Bulletins have a subset of overall privacy/security patches. This is one example.

Android Security Bulletins include the High and Critical severity patches for the Android Open Source Project backported to older releases (12, 12.1, 13, 14) and a small selection of firmware/driver patches for specific hardware. Non-Pixels ship these backports. Pixels ship more.

Android OEMs are responsible for making their own more complete set of patches and incorporating patches from the SoC vendor and other hardware vendors for their devices. The Pixel Update Bulletins largely consist of these extra patches from Samsung, Qualcomm, Broadcom, etc.

Low and Moderate severity patches are almost entirely not backported to older Android releases and aren't listed in the Android Security Bulletins.

Android 14 QPR3 from June is the current major release, not Android 14. Monthly updates since then are more than ASB patches.

Patch for CVE-2024-32896 was included in an upcoming major release (Android 14 QPR3 in June 2024) and that's why non-Pixel devices didn't get it, because they don't actually update to the new monthly/quarterly releases. Now that it's in the ASB, they'll apply the backport.

view more: next ›

GrapheneOS [Unofficial]

1055 readers
1 users here now

Welcome to the GrapheneOS (Unofficial) community

This feed is currently only used for announcements and news.

Official support available on our forum and matrix chat rooms

GrapheneOS is a privacy and security focused mobile OS with Android app compatibility.

Links

More Site links

Social Media

This is a community based around the GrapheneOS projects including the hardened Android Open Source Project fork, Auditor, AttestationServer, the hardened malloc implementation and other projects.

founded 3 years ago
MODERATORS