Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-20154 — Analyse technique de CVE-2024-20154, un débordement de tampon basé sur la pile dans le firmware de bande de base NB-IoT MediaTek MT6769, couvrant l'ingénierie inverse et la chaîne d'exploitation. | Kitploit
Outils/GitHubGitHub/harbingerse7en/cve-2024-20154
Sécurité des Systèmes EmbarquésSécurité IoTCriminalistique MémoireAnalyse des VulnérabilitésRétro-ingénierieSécurité MobileSécurité Matériel et IoTAnalyse de Binaires

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Articles et Recherche
Apprentissage et Éducation
Analyse de Micrologiciel
GitHubharbingerse7en/cve-2024-20154

CVE-2024-20154

Analyse technique de CVE-2024-20154, un débordement de tampon basé sur la pile dans le firmware de bande de base NB-IoT MediaTek MT6769, couvrant l'ingénierie inverse et la chaîne d'exploitation.

Voir le dépôt
16il y a 3 moisPas encore vérifié

CVE-2024-20154 : Débordement de pile SIB1-NB NB-IoT dans la bande de base MediaTek MT6769

Classification : CWE-121 — Débordement de tampon basé sur la pile
Sévérité : Critique (bulletin MediaTek) · 8.8 Élevée, Vecteur d'attaque : Adjacent (CISA-ADP)
Type : Exécution de code à distance — aucune interaction utilisateur, aucune association préalable
Divulgation : Bulletin de sécurité MediaTek, 6 janvier 2025 https://corp.mediatek.com/product-security-bulletin/January-2025 Cible analysée : Samsung Galaxy A14 SM-A145R — famille MT6769 (Helio G80), figurant dans la liste des chipsets affectés de MediaTek - Le firmware a été émulé dans des conditions sûres. Statut : Corrigé.


Contexte et motivation

Il s'agissait de ma première recherche publiée sur les bandes de base. Je viens d'un milieu très éloigné des infrastructures de télécommunications, des couches de médiation pour l'interception légale, de l'analyse des stingrays et des IMSI-catchers, et de la sécurité des dispositifs embarqués — je n'avais jamais effectué auparavant de rétro-ingénierie approfondie de firmware sur un modem cellulaire. Je voulais me prouver qu'une méthodologie analytique structurée s'adapte à différents types de cibles, et que la familiarité avec une plateforme spécifique peut être remplacée par un traçage rigoureux des chaînes. Le NB-IoT s'est démarqué parce qu'il se situe à une intersection véritablement dangereuse : le protocole est conçu pour des dispositifs IoT à ressources limitées, la surface d'attaque est pré-association, et la pile du modem le traite indépendamment de ce que fait l'utilisateur du téléphone.

Lorsque le firmware corrigé a été analysé et que le motif vulnérable a été confirmé absent, le système d'IA utilisé pour l'analyse de masse du firmware avant de cibler des fonctions spécifiques

a indépendamment fait correspondre la classe de bug reconstruite, les conditions et la famille de firmware affectée à la description de CVE-2024-20154.

Les conclusions techniques sont celles de l'analyste.


1. Introduction

Le téléphone dans votre poche contient au moins deux ordinateurs distincts. Celui avec lequel vous interagissez exécute Android. L'autre — la bande de base — fonctionne de manière totalement indépendante, gère toute la communication radio, et est presque entièrement invisible pour le système d'exploitation au-dessus. Android peut être entièrement corrigé. Le navigateur peut être isolé. L'utilisateur peut ne jamais cliquer sur un lien malveillant. Rien de tout cela n'a d'importance si le code vulnérable se trouve dans le firmware du modem qui traite les signaux radio avant que le processeur applicatif ne soit impliqué.

CVE-2024-20154 est exactement ce type de vulnérabilité.

Une diffusion d'informations système NB-IoT malformée amène le firmware du modem MediaTek à accepter un compteur d'ordonnancement contrôlé par l'attaquant, à faire transiter ce compteur par le chemin de configuration RRC-vers-L1 sans jamais le borner, et finalement à l'utiliser comme borne de boucle pour une boucle d'écriture sur la pile à l'intérieur du gestionnaire de canal de diffusion NB-IoT. Lorsque le compteur dépasse la capacité des tableaux de destination, la boucle écrit au-delà de ceux-ci, atteint les registres sauvegardés sur la pile, et écrase l'adresse de retour sauvegardée. La fonction restaure alors la valeur corrompue dans le registre d'adresse de retour et saute vers celle-ci.

Ce qui rend la sévérité telle qu'elle est :

  • Le chemin de code vulnérable est exercé pendant le campement sur une cellule — après synchronisation sur une cellule mais avant toute connexion RRC, toute authentification, toute interaction utilisateur.
  • L'entrée est une diffusion radio. Le téléphone ne peut pas authentifier la source.
  • Le firmware de la bande de base dans la version analysée s'exécute sans ASLR, sans canaris de pile, sans pile non exécutable, et sans intégrité du flux de contrôle. Un écrasement d'adresse de retour sauvegardée se traduit directement par un contrôle du compteur de programme.

La vulnérabilité a été publiée dans le bulletin de sécurité MediaTek du 6 janvier 2025 avec une évaluation de sévérité Critique, affectant entre autres la famille de modems LR12A. Samsung a intégré le correctif dans sa version de maintenance de sécurité de février 2025.

Cet article ne publie pas d'exploit weaponisé et n'est pas reproductible à partir de ce qui est publié ici. L'objectif est de montrer où la chaîne se brise, pourquoi chaque couche a échoué à l'arrêter, et ce qu'il faut pour valider un bug de bande de base de manière responsable lorsque vous ne pouvez pas attacher un débogueur au modem en direct.


2. Cible et environnement

2.1 Appareil et firmware

Cible principale : Samsung Galaxy A14 (SM-A145R). Le sous-système radio est piloté par un processeur de bande de base MediaTek de la famille de chipsets MT6769 (Helio G80). La famille MT6769 est explicitement listée dans la liste des chipsets affectés de MediaTek pour CVE-2024-20154.``` AP/CP firmware: A145RXXU1AWD1 Modem software: MOLY LR12A.R3.TC10.6M.A14.PR.SP.V1.P5 Build date: 2023-04-18

Le firmware de la bande de base n'est pas du code Android. Il s'agit d'un système embarqué distinct sur le sous-système radio du SoC, avec son propre CPU, son propre RTOS et son propre espace mémoire, en dehors du bac à sable des processus Android.

### 2.2 Architecture du modem

L'analyse du binaire extrait montre que le processeur du modem fonctionne en MIPS32 avec des instructions compressées MIPS16e2 en mode petit-boutiste. MIPS16e2 est une extension d'encodage 16 bits pour la réduction de la taille du code embarqué — cohérente avec l'approche de MediaTek pour les bandes de base de la génération Helio, confirmée par des recherches indépendantes publiées sur les bandes de base de cette famille de SoC.

Le système d'exploitation est Nucleus RTOS, fournissant l'ordonnancement des tâches, des files de messages IPC et un allocateur de mémoire basé sur des pools. Il n'y a pas de séparation des privilèges noyau/utilisateur, pas d'application d'unité de protection mémoire entre les tâches, et pas de mécanisme matériel de protection de pile.

Toutes les adresses dans cet article sont des adresses virtuelles, telles que chargées dans Ghidra à la base `0x90000000`.

### 2.3 Atténuations (observées dans la build analysée)

| Atténuation | Statut | Effet |
|---|---|---|
| ASLR | Absent | Les adresses du firmware sont statiques et prévisibles à partir de l'image |
| Canari de pile | Absent | `SAVE`/`RESTORE` stocke les registres sauvegardés par l'appelé sans valeur de garde |
| NX / W^X | Absent | La mémoire de pile est exécutable |
| CFI | Absent | Les adresses de retour ne sont validées par aucune politique |

### 2.4 Approche d'analyse

Trois axes parallèles :

**Analyse statique.** Package firmware Samsung → extraction de la partition CP → `md1img.img` →
Ghidra (MIPS LE 32 bits, base `0x90000000`) avec les symboles d'ingénierie MediaTek récupérés
depuis la section de débogage du firmware à l'aide de l'outillage `mtk_bp` de NCC Group.

**Validation dynamique.** Unicorn Engine (émulation MIPS32) a été utilisé pour exécuter des
routines spécifiques du firmware en isolation sur deux phases. La phase 1 a tenté de prouver la
copie non bornée de `si_count` dans le contexte de canal via la paire d'instructions native. La
phase 2 a exécuté la boucle vulnérable sur les octets réels du firmware et a confirmé que les
instructions propres au firmware corrompent l'adresse de retour sauvegardée. Là où la phase 1
n'a pas pu s'exécuter entièrement en natif — parce que l'environnement d'objets de service RTOS
requis par le chemin de dispatch CPHY n'a pas été reconstruit — l'effet de bord a été modélisé
directement et étiqueté comme tel dans toutes les sorties.
Télécharger l’outil