The pickle module documentation makes confusing statements about secure alternatives
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 36k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Documentation
The pickle module states that the xmlrpc marshaling API should be used if the users desire a safe alternative to unpickling untrusted data:
https://docs.python.org/3.14/library/pickle.html:
As our examples shows, you have to be careful with what you allow to be unpickled. Therefore if security is a concern, you may want to consider alternatives such as the marshalling API in xmlrpc.client or third-party solutions.
However, the xmlrpc module has right at the top a warning that says the following:
https://docs.python.org/3.14/library/xmlrpc.client.html#module-xmlrpc.client:
The xmlrpc.client module is not secure against maliciously constructed data. If you need to parse untrusted or unauthenticated data see XML vulnerabilities.
These two statements contradict each other and could lead users to falsely believe that they are using a safe alternative.
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 Aussage in der Dokumentation des pickle-Moduls zu xmlrpc.client und vergleiche sie mit dem Sicherheitshinweis am Anfang der Dokumentation von xmlrpc.client. Überarbeite die widersprüchliche Anleitung, damit Benutzer nicht dazu verleitet werden, xmlrpc.client als sicher für nicht vertrauenswürdige Daten zu betrachten; die Arbeit ist abgeschlossen, wenn die beiden Seiten konsistente Sicherheitshinweise geben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- documentation, security
- Issue-Typ
- Dokumentation
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 38/100