OvalShape drawable dark color bug

In current Voodoo Screen Tests Patterns app, that allows to measure displays of Android devices, I draw a OvalShape that has a background color following a specific sequence expected by a software controlling a colorimeter.

However as Erica Griffin noticed, on some devices the near-black measurements were inconsistent with what you could perceive with your own eyes or by taking pictures or filming the display using long exposure times.
Additionally, in my measurements I was most of the time getting readings for black on LCD panels (a fair amount of blue leaking, some red and green) while measuring the same thing on IRE1 (RGB 3, 3, 3), IRE2 (RGB 5, 5, 5) and then having a valid reading for IRE 3 (RGB 8, 8, 8).

There was then something wrong with my app designed to help running accurate display measurements, FAIL!

Long story short, the bug was not in my app but in Android graphic framework, but only on some devices and not the ones I used and tested during development.

Description this bug:

  • Render non-rectangular shapes as pure black #000000 color instead of another dark color.
  • Characteristics of the colors rendered as black:
    • None of the primary Red, Green or Blue channels attain the value of 7 on a scale of 0-255
    • Example of colors rendered as black:
      • Grays: #010101, #020202, #030303, #040404, #050505, #060606
      • Dark colors: #000006, #050603, #060003
    • Example of colors rendered correctly:
      • Grays: #070707, #080808 and so on
      • dark colors with one channel higher than value 6: #000007, #060607
  • RectShape is not affected.
  • At least RoundRectShape (or android:shape=”rectangle” with a corner), OvalShape at least are affected. I didn’t test other shapes.

List of devices I tested and are affected:

  • Samsung Galaxy S III, Galaxy Note II, Galaxy S II, Galaxy Note, Galaxy Tab 10.1, Galaxy Tab 2 7.0
  • HTC One
  • Sony Xperia T
  • ASUS Transformer
  • LG Optimus 2x

List of devices I tested that are not affected:

  • Google Nexus S, Nexus 10, Nexus 7, Galaxy Nexus
  • Samsung Galaxy S4

I’d like to help completing the list of affected devices in order to raise awareness of this bug with manufacturers, encourage people to contact them and get this bug fixed.

In this purpose, here’s a little app I wrote named OvalShape ColorBug, available on Google Play (recommended download) and directly on my server.
Complete source code is available on github as well.
This apps allows to diagnose instantly if your device is affected by the bug described here or not.

Please describe your experience with this test and maybe post a screenshot of the rendering on your own devices.

I’ll also publish very soon an update of Screen Tests Patterns apps in order to get the patterns colors and measurements right.

 

Instant fix app for Exynos Mem Abuse vulnerability, no root required, reversible

Earlier today, talented developer alephzain described a security vulnerability affecting most if not all Exynos 4 devices, which represent dozen of millions gadget out there.

Unfortunately he also released a working exploit with complete source code before the various vendors affected (Samsung, Meizu and surely others) were made aware of it, leading to a severe security issue without accessible fix for now.

I wrote then an application to circumvent the issue while manufacturer patch the security hole and publish OTA updates.

However, please note its a partial fix that cannot secure completely your device which is to date impossible without modifying it − an operation that will stop the ability to install OTAs without an external tool.

That’s why I would still recommend to consider Chainfire’s solution linked below.

Characteristics of this app:

  • Works on any device, let you know if your system is vulnerable
  • Doesn’t require root to apply the fix
  • Doesn’t modify your system, copy files or flash anything
  • Fix can be enabled or disable at will
  • Free of charge

Limitations:

  • Break proper function of the Front camera on some Galaxy S III and Galaxy Note II Samsung official firmwares when activated.
    Workaround: enable HDR or Low light photography camera mode. Both blend multiple exposures.
  • Might alter MHL/HDMI output functions on some devices (not confirmed)
  • Cannot protect efficiently against some potential attacks (typically, on boot).
    The real fix by manufacturers or some carefully written custom kernels will indeed be the only true solutions to this vulnerability − and won’t introduce any feature regression like this one does with some firmwares on cameras.
  • Comes without any kind of support or warranty.

 

Fix disabled on a GT-I9300 Galaxy S III

Fix disabled on a GT-I9300 Galaxy S III

Fix enabled on a GT-I9300 Galaxy S III

Fix enabled on a GT-I9300 Galaxy S III

Download link:

version 0.9

  • Circumvent a random behavior nature in the exploit and try harder in case of initial failure to apply the fix at boot.
    Recommended update.

version 0.8

  • Notify the user in case the application was unable, for any reason, to apply the fix (you need to enable it manually then)
    Recommended update.

version 0.7

version 0.6

  • Minor: remove unused asset to reduce application size of 16kB.

version 0.5

  • Add camera HDR or Low Light capture modes workaround tip in fix description.

version 0.4

  • Add missing Internet permissions for Flurry analytics:
    I will likely share installation figures with my Samsung security contacts, so they get an idea of the interest generated by this kind of early fix.
  • Clarify apply on boot limitations.

version 0.3

  • Increase the chances to run early at boot.
  • Improve descriptions.

version 0.2

  • Fix link to this page inside the app.

First version, 0.1

Notes:

  • There’s an XDA-forums thread for feedback.
  • Chainfire made an app easily rooting your device instead (this app has no relation with rooting whatsoever)
    Credits to him too as it was fun sharing mind when reading the exploit earlier today.
  • Redistribution of this APK outside of this web page is forbidden, please link this web page directly that I’ll keep updated.
  • This application is not released on Google Play because it use the vulnerability itself as test and tool to protect against itself (yes ^^)

Hello world!

Hello deal visitor.

Previous Project-Voodoo website was so outdated I decided to wipe out everything and restart from scratch.

Communication and explanation becoming increasingly important, I’m excited by this new start.