Skip to content

Commit 89b6536

Browse files
committed
fix(xmldsig): enforce x509 size budget before cert parse
- move add_x509_data_usage call before parse_x509_certificate in X509Certificate branch - reject oversized X509Data aggregate before expensive DER/X.509 parsing
1 parent 19fe0be commit 89b6536

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

src/xmldsig/parse.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,8 +547,8 @@ fn parse_x509_data_dispatch(node: Node) -> Result<X509DataInfo, ParseError> {
547547
ensure_no_element_children(child, "X509Certificate")?;
548548
ensure_x509_data_entry_budget(&info)?;
549549
let cert = decode_x509_base64(child, "X509Certificate")?;
550-
let parsed_cert = parse_x509_certificate(cert.as_slice())?;
551550
add_x509_data_usage(&mut total_binary_len, cert.len())?;
551+
let parsed_cert = parse_x509_certificate(cert.as_slice())?;
552552
info.parsed_certificates.push(parsed_cert);
553553
info.certificates.push(cert);
554554
}

0 commit comments

Comments
 (0)