Add a way to reserve shmop memory ids and prevent shmop_open (e.g. opcache's region)
Personne n'a encore pris cette issue.
- Langage dominant
- C
- Étoiles
- 40.4k
- Forks
- 8.2k
- Merge moyen
- 2 j 13 h
- PR mergées (30 j)
- 96
Description
Description
Related to https://github.com/php/php-src/issues/9944
Prevent accidentally or intentionally reading or writing to shared memory regions which would be used by opcache, or other extensions such as APCu
A possible approach:
- Add a helper method in
Zend/directory to track ids used during module initialization - Make the ext/shmop extension check if those ids were already used and treat it like a native error code for https://php.net/shmop_open
- Add an ini setting to disable this protection, in case userland debuggers/visualizers have valid use cases for this
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par lire ext/opcache/shared_alloc_shm.c à l’emplacement indiqué par le lien, puis examinez l’implémentation de ext/shmop et le répertoire Zend/. Déterminez comment l’initialisation du module pourrait suivre les IDs réservés et comment shmop_open signale les erreurs natives. Le travail est terminé lorsque les régions de opcache et des autres extensions ne peuvent pas être accessibles accidentellement, et que le paramètre ini d’exclusion proposé a été pris en compte.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- c, php
- Domaine
- operating-systems, security
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100