protocol: BER2DER does not handle empty indefinite length objects
- Lingua principale
- Go
- Stelle
- 657
- Fork
- 154
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
For indefinite length objects, we check for the terminator here: https://github.com/github/smimesign/blob/3564e86011859c28b315328027abebb954b6bf6f/ietf-cms/protocol/ber.go#L217
However, this does not consider that a SEQUENCE or SET can be potentially empty with indefinite length.
Instead, I think the proper thing is to first check for the termination sequence and only then read the object.
I.e., move the if condition above this line: https://github.com/github/smimesign/blob/3564e86011859c28b315328027abebb954b6bf6f/ietf-cms/protocol/ber.go#L209
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia in ietf-cms/protocol/ber.go intorno alle righe 209 e 217, dove BER2DER legge oggetti di lunghezza indefinita e controlla il terminatore. Verifica che gli oggetti SEQUENCE e SET vuoti siano gestiti controllando la sequenza di terminazione prima di leggere l’oggetto; il lavoro è completato quando questi input non falliscono più, mentre la gestione esistente degli oggetti non vuoti rimane invariata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- go
- Ambito
- cryptography
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 48/100