]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
pcrextend: refuse empty measurement over Varlink 42698/head
authorPaul Meyer <katexochen0@gmail.com>
Wed, 17 Jun 2026 16:03:55 +0000 (18:03 +0200)
committerPaul Meyer <katexochen0@gmail.com>
Tue, 23 Jun 2026 05:38:32 +0000 (07:38 +0200)
vl_method_extend() accepted an empty text/data value and measured an
empty word, bypassing the empty-word refusal the CLI path already
enforces. Measured words are joined with ":" in the record, so an empty
word is ambiguous. Reject it.

Signed-off-by: Paul Meyer <katexochen0@gmail.com>
src/pcrextend/pcrextend.c

index cf70daaa9271e0cbb1e27cb6a9b649fc5bf1a77d..067cc92ff39169d20beec88ab9b45f765b51d1b6 100644 (file)
@@ -463,6 +463,9 @@ static int vl_method_extend(sd_varlink *link, sd_json_variant *parameters, sd_va
         else
                 return sd_varlink_error_invalid_parameter_name(link, "text");
 
+        if (!iovec_is_set(extend_iovec))
+                return sd_varlink_error_invalid_parameter_name(link, p.text ? "text" : "data");
+
         if (p.nvpcr) {
                 r = extend_nvpcr_now(p.nvpcr, extend_iovec->iov_base, extend_iovec->iov_len, p.event_type);
                 if (IN_SET(r, -ENOENT, -ENODEV))