github / github/smimesign

protocol: BER2DER does not handle empty indefinite length objects

Aperta
#103 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.