lambdaclass / lambdaclass/lambda_compiler_kit
JSON parser DoS prevention
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Lean
- Sterne
- 2
- Forks
- 1
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
As reported by Claude review, our current JSON parser does not prevent large exponents from exhausting our memory.
The solution proposed by Claude, however, is inflexible: cap the exponent.
For most regular uses that would be OK. For schema validation, though, that might be too restrictive.
Instead, I suggest we just keep the exponent as a separate field for JSON numbers.
The trade off:
- We get arbitrarily large numbers with efficient-ish representation
- We allow users to define schemas with arbitrary numbers
- We need to implement basic operations and might need some float-like behavior in places
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
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
Das Issue nennt keine Dateien, Tests oder Einstiegspunkte. Beginne damit, den JSON-Parser und seine Zahlendarstellung zu finden, bestimme dann den Umfang der Beibehaltung von Exponenten und die erforderlichen grundlegenden Operationen; als erledigt gilt die Aufgabe, wenn große Exponenten keine Erschöpfung des Speichers mehr verursachen und die Schema-Validierung weiterhin beliebige Zahlen akzeptiert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- json
- Bereich
- compilers, security
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100