2 days ago I reported about a #security patch having been applied to the IzzyOnDroid F-Droid repo aka #IzzySoftRepo – but I didn't give much details. After it was tested now at the IoD test & staging area, and running smoothly for two days for the public one, I reported back to its author @obfusk that all seems smooth, and she decided to make POC & patch public. You can find the full details at github.com/obfusk/fdroid-fakes… & openwall.com/lists/oss-securit… now. @fdroidorg @eighthave be welcome using it!
1/2
GitHub - obfusk/fdroid-fakesigner-poc: F-Droid Fake Signer PoC
F-Droid Fake Signer PoC. Contribute to obfusk/fdroid-fakesigner-poc development by creating an account on GitHub.GitHub
IzzyOnDroid ✅
in reply to IzzyOnDroid ✅ • • •2/2 @obfusk @fdroidorg @eighthave
In essence, quoting from the POC:
> […] As a result, it is trivial to bypass the AllowedAPKSigningKeys certificate pinning, as we can make fdroidserver see whatever certificate we want instead of the one Android/apksigner does. Note that we don't need a valid signature for the APK (we really only need a copy of the DER certificate, though having another APK signed with the certificate we want to use makes things easy).
Hans-Christoph Steiner
in reply to IzzyOnDroid ✅ • • •IzzyOnDroid ✅
in reply to Hans-Christoph Steiner • • •Potential security hazard: `apk_signer_fingerprint()` looks at certs in reverse order that Android checks them (#1128) · Issues · F-Droid / fdroidserver · GitLab
GitLabIzzyOnDroid ✅
in reply to Hans-Christoph Steiner • • •APK Signing Block considerations (#1056) · Issues · F-Droid / fdroidserver · GitLab
GitLabHans-Christoph Steiner
in reply to IzzyOnDroid ✅ • • •Part of the bug was known 11 months ago. The new proof-of-concept shows key details that were not previously known nor reported in the issue. Those were just dumped to the public. We asked for that yesterday, and you didn't send it to us, but withheld it to now publicly dump it. That code was posted to GitHub yesterday: github.com/obfusk/fdroid-fakes…
You could have just sent us that link yesterday before tooting it, that would have been better.
Commits · obfusk/fdroid-fakesigner-poc
GitHubHans-Christoph Steiner
in reply to Hans-Christoph Steiner • • •I see this was reported to #androguard yesterday github.com/androguard/androgua…
Did you give them any advanced warning?
handles duplicate block IDs in APK Signing Block differently from Android/apksigner · Issue #1030 · androguard/androguard
GitHubIzzyOnDroid ✅
in reply to Hans-Christoph Steiner • • •Hans-Christoph Steiner
in reply to IzzyOnDroid ✅ • • •All I'm asking is for #ResponsibleDisclosure. The tone you sense was my panic as I scrambled to figure out the proof-of-concept to ensure that #FDroid users are kept safe. Signature verification is a key part of that. I cleared my schedule this morning to deal with this.
Thanks to @obfusk to doing the hard work of the proof-of-concept and the patch. I posted my preliminary analysis of the issue on gitlab.com/fdroid/fdroidserver…
1/2
Potential security hazard: `apk_signer_fingerprint()` looks at certs in reverse order that Android checks them (#1128) · Issues · F-Droid / fdroidserver · GitLab
GitLabIzzyOnDroid ✅
in reply to Hans-Christoph Steiner • • •Hans-Christoph Steiner
in reply to IzzyOnDroid ✅ • • •IzzyOnDroid ✅
in reply to Hans-Christoph Steiner • • •Hans-Christoph Steiner
in reply to Hans-Christoph Steiner • • •They key takeaway is:
If a binary repo maintainer is not careful about where they get their APKs and relies completely on AllowedAPKSigningKeys to verify the APKs, then this is an important issue.
2/2
IzzyOnDroid ✅
in reply to Hans-Christoph Steiner • • •Zusätzliche APK-Checks im IzzyOnDroid Repo
IzzyOnDroidHans-Christoph Steiner
in reply to IzzyOnDroid ✅ • • •IzzyOnDroid ✅
in reply to Hans-Christoph Steiner • • •F-Droid
in reply to IzzyOnDroid ✅ • • •