From 2e586e930e6e8c9fd16b3dbe6c6a624644ae5b5a Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Mon, 19 Oct 2026 19:03:26 +0300 Subject: [PATCH] adjust signature validation --- lib/verify_pdf_signature.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/verify_pdf_signature.rb b/lib/verify_pdf_signature.rb index 1404e9c4d..80739344c 100644 --- a/lib/verify_pdf_signature.rb +++ b/lib/verify_pdf_signature.rb @@ -180,8 +180,11 @@ module VerifyPdfSignature return false if byte_range.size != 4 || byte_range.any?(&:negative?) || byte_range[0].positive? return false if signature.signed_end > io.size + return false if byte_range[2] != byte_range[1] + (signature.contents.bytesize * 2) + 2 - byte_range[2] == byte_range[1] + (signature.contents.bytesize * 2) + 2 + io.seek(byte_range[1]) + + io.read(byte_range[2] - byte_range[1]).casecmp?("<#{signature.contents.unpack1('H*')}>") end def unsigned_changes?(document, io, signed_end)