python / python/cpython

asm_trampoline.S misses GCS flag for aarch64

Ouverte
#142,034 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

build type-bug
Langage dominant
Python
Étoiles
77.2k
Forks
35.9k
Métriques de merge des PR
Métriques de PR en attente

Description

Bug report

Bug description:

When building with GCC15+, binutils 2.44+, glibc 2.41+ and -mbranch-protection=standard on aarch64, this enables PAC and BTI as stated in https://github.com/python/cpython/issues/139808 but also GCS (Guarded Control Stack).
PAC/BTI is already covered with https://github.com/python/cpython/pull/130864
For GCS, we would need to add some additional gnu properties on top of this patch, similarly to https://github.com/smuellerDD/leancrypto/commit/fe9751f2b13581e938f25b82f3e725372223af81

Maybe https://github.com/python/cpython/pull/130864 could be updated to also cover GCS?

More details on GCS:

CPython versions tested on:

CPython main branch

Operating systems tested on:

Linux

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par asm_trampoline.S et la gestion existante de PAC/BTI issue de la pull request 130864. Comparez les propriétés GNU du commit leancrypto référencé, puis construisez CPython main sous Linux avec GCC 15+, binutils 2.44+, glibc 2.41+ et -mbranch-protection=standard ; la tâche est terminée lorsque le trampoline aarch64 déclare également la prise en charge de GCS.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
linux, python
Domaine
build-system, operating-systems, security
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.