NDK 27 arm64 Navigation Native libraries have non-16 KB GNU_RELRO segment ends
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- mobile-dev
Direzione di ricerca
The report identifies arm64-v8a libraries in the dash-native-ndk27 AARs, especially libnavigator-android.so and libnn-perf-replay.so, with GNU_RELRO ends that fail the 16 KB alignment check. Start by locating how this repository selects and packages the Navigation Native NDK 27 artifacts, then inspect the reported AARs with llvm-readelf -lW. Done means the relevant artifacts meet Android's RELRO alignment guidance or the project documents why their layout is safe; the issue does not identify a source file or test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Android API: 36 (Android 16) for the bounded emulator result below; the static artifact check is API-independent.
Mapbox Navigation SDK version: 3.33.0, then 3.32.3 (-ndk27; Navigation Native 324.33.0, then 324.32.3).
Steps to trigger behavior
- Download each official AAR linked below, for example
curl -fLO '<AAR URL>'. - Extract the arm64 libraries:
unzip '<artifact>.aar' 'jni/arm64-v8a/*.so' -d extracted(use a separate destination for each AAR). - Run the Android NDK tool
llvm-readelf -lW extracted/jni/arm64-v8a/<library>.sofor each library. - Check every LOAD: p_align is at least
0x4000, is a power of two, and(VirtAddr - Offset) % p_align == 0; all pass here. For GNU_RELRO, calculate(VirtAddr + MemSiz) % 0x4000; the nonzero values below reproduce the defect against the documented end-alignment check.
Official AARs (dash-native-ndk27 ships both libraries):
- dash-native-ndk27-324.33.0.aar — SHA-256
6535ae5b24bb8699c6b48ee979923f67c71000e81907fff8d969bfd8b7c609c3. - dash-native-ndk27-324.32.3.aar — SHA-256
7bc055468a652eadf4d7450625ed252dcf04a36d3df07c68639f0094abc77cb8.
Expected behavior
The GNU_RELRO segment end is aligned to 16 KB, so (VirtAddr + MemSiz) % 0x4000 == 0, per Android's RELRO guidance, or Mapbox documents why this layout is safe on native 16 KB devices.
Actual behavior
Both libraries retain nonzero GNU_RELRO end remainders in the newest stable 3.33.0 dependency, although every LOAD meets 16 KB alignment:
| Library (arm64-v8a) | AAR version | Every LOAD p_align | GNU_RELRO VirtAddr + MemSiz = end | end % 0x4000 |
|---|---|---|---|---|
| libnavigator-android.so | 324.33.0 | 0x4000, 0x4000, 0x4000 | 0x1d92ae0 + 0x74520 = 0x1e07000 | 0x3000 |
| libnn-perf-replay.so | 324.33.0 | 0x4000, 0x4000, 0x4000 | 0x1d790 + 0x870 = 0x1e000 | 0x2000 |
| libnavigator-android.so | 324.32.3 | 0x4000, 0x4000, 0x4000 | 0x1d4a7c0 + 0x73840 = 0x1dbe000 | 0x2000 |
| libnn-perf-replay.so | 324.32.3 | 0x4000, 0x4000, 0x4000 | 0x1d760 + 0x8a0 = 0x1e000 | 0x2000 |
In a prior bounded Android 16 / API 36 arm64 emulator run with 16 KB pages and linker/package compatibility mode disabled, Navigation 3.32.0 / Navigation Native 324.32.0 -ndk27 completed one Free Drive start/stop with seven emulator GPS fixes: no crash observed. No Active Guidance was exercised. That result does not establish safety, physical-device compatibility, or runtime behavior of 3.33.0/3.32.3; those versions were checked statically only.
- Lingua principale
- Kotlin
- Stelle
- 653
- Fork
- 321
- Merge medio
- 4h 6m
- PR unite (30g)
- 9
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di mapbox/mapbox-navigation-android
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 65/100
mapbox/mapbox-navigation-android#7852 ·
-
Bug / Routing ErrorAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
mapbox/mapbox-navigation-android#7967 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
mapbox/mapbox-navigation-android#7966 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
mapbox/mapbox-navigation-android#7965 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
mapbox/mapbox-navigation-android#7955 ·
Tutte le issue di mapbox/mapbox-navigation-android
Issue simili
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
keiyoushi/extensions-source#20423 ·
I maintainer di solito rispondono entro 1 giorno
-
bug iOS UI
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
devsoc-unsw/freerooms-mobile#278 ·
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
home-assistant/android#7690 ·
I maintainer di solito rispondono entro 1 giorno
-
staticAssetsPath follows symlinks outside the directory on WindowsForse già presa @ybelMekk l’ha presa oggi. Apertabug security findings
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
navikt/mock-oauth2-server#1132 ·
I maintainer di solito rispondono entro 1 giorno