Delaying error handlers
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.1k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
Due to error handlers, some operations may have unsuspected effects. This is the cause of bugs and workarounds. Quoting GH-6903:
[...] long-standing source of interrupt
vulnerabilities: A notice is emitted during execution of an opcode,
resulting in an error handling being run. The error handler modifies
some data structure the opcode is working on, resulting in UAF or
other memory corruption.
These bugs and workarounds could be avoided by delaying error handlers until a safepoint. Existing/Previous work:
- https://github.com/php/php-src/pull/6903
- https://github.com/php/php-src/pull/7735
- https://github.com/php/php-src/pull/12090
- https://github.com/php/php-src/pull/12805
I'm creating this ticket to aggregate issues that would not exist with delayed error handlers:
- https://github.com/php/php-src/issues/13754
- https://github.com/php/php-src/issues/15907
- https://github.com/php/php-src/issues/16726
- https://github.com/php/php-src/issues/17416
- https://github.com/php/php-src/issues/18043
- https://github.com/php/php-src/issues/18274
- https://github.com/php/php-src/issues/20042
- https://github.com/php/php-src/issues/20482
- https://github.com/php/php-src/issues/20855
- https://github.com/php/php-src/issues/21024
- https://github.com/php/php-src/issues/21245
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Durchsicht der früheren Pull Requests 6903, 7735, 12090 und 12805 und untersuche anschließend die hier zusammengefassten verknüpften Issues. Die Arbeit ist abgeschlossen, wenn Fehler-Handler bis zu einem Safepoint verzögert werden, sodass die aufgeführten interruptbezogenen Fehler und Workarounds nicht mehr zutreffen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, php
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100