Repository navigation
Device runtime on OTP 29.1.2 + OpenSSL 3.5.9 (otp-d199a49a); no host OTP apps or shims on the device (MOB-493, MOB-494) - #152
Merged
Conversation
…dowing the runtime's ssl with the host's (MOB-493, MOB-494)
- @otp_hash 5c9c69fc -> d199a49a; bundled_versions.exs records the bundle and
its OTP tag; android-x86_64 caches are fingerprinted too.
- Release scripts rebuild from a clean OTP tag: vendored xcomp confs for all
five targets, patch 0003 (iOS {spawn, LinkedInDriver}), the 0002 marker that
upstream already matched, static asn1rt_nif.a on Android, the xmerl deps
regeneration on iOS, OpenSSL 3.5.9.
- Deploys and Android releases no longer push the host's ssl into the app's
beams dir (it came first on -pa and shadowed lib/ssl-*), and delete what an
older mob_dev left there.
- Requires mob ~> 0.9.25 (finds erts-17.1.1 at runtime); erlang 29.1.2 pin;
doctor text; decision record.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MOB-493 and MOB-494. The device runtime moves to OTP 29.1.2 with OpenSSL 3.5.9 LTS: new hash
otp-d199a49a(published, all five assets). Apps also stop running the host's OTP apps in place of the runtime's.Why
5c9c69fcruntime is OTP 29.0, which has 47 unpatched OTP advisories, including critical CVE-2026-89422 and CVE-2026-55953 (TLS server authentication), with OpenSSL 3.4.0, end of life since 2026-10-22.-pa. Before this change,code:which(ssl)on a Moto G wasfiles/otp/<app>/ssl.beam, the host's 11.7.sslandcryptoshims into that same dir. The crypto shim hasverify/5 -> trueandsupports/1 -> [], andmix mob.release --iosreused that dir.What
@otp_hashd199a49a.bundled_versions.exsgets an entry withotp_version: "29.1.2". Fingerprinting understands android-x86_64.copy_otp_libof runtime_tools/asn1/public_key on iOS.stale_host_ssl_files/0is the union of host ssl and every cached runtime's ssl, pluscrypto.{beam,app}, and honours MOB_CACHE_DIR. The iOS release script deletes them fromBEAMS_DIRtoo.{spawn, LinkedInDriver}, previously hand-applied), and the patch 0002 marker fixed;asn1rt_nif.abuilt through OTP'sstatic_lib;--disable-year2038.publish.shuploads the x86_64 tarball by default.{:mob, "~> 0.9.25"}: older mob hard-codes erts-17.0 and can't boot erts-17.1.1.decisions/2026-10-22-otp-29.1.2-runtime-no-host-otp-apps.md. CHANGELOG has an Upgrading section.Verification
code:which(ssl)inlib/ssl-11.7.8;httpcwith verify_peer to hex.pm returns 200, and a wrong SNI is rejected.mix test: 3167/3167. compile --warnings-as-errors, credo --strict and format pass.mix mob.security_scan: 0/73 OTP advisories and 0/61 OpenSSL CVEs apply to d199a49a. The 6 remaining HIGH findings are cache drift on this host and not code: exqlite BEAM 0.43.0 copied into the iOS caches by other apps, and Elixir 1.20.0 in the old 5c9c69fc caches.Review
Reviewer subagent, because Codex was usage-limited: round 1 DO NOT SHIP, round 2 DO NOT SHIP (iOS crypto shim), round 3 SHIP, delta round SHIP. Every finding is fixed, including the nits (MOB_CACHE_DIR, AGENTS.md erlfmt lines).