From 79d05d08dea67e67a875b7f19db5745e375146d9 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Wed, 4 Feb 2026 17:39:40 +0000 Subject: [PATCH] MDL-87870 admin: tighten up validation of colour picker values. --- public/lib/adminlib.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/public/lib/adminlib.php b/public/lib/adminlib.php index abc0985ea3a..c68705c8cf2 100644 --- a/public/lib/adminlib.php +++ b/public/lib/adminlib.php @@ -10612,13 +10612,13 @@ class admin_setting_configcolourpicker extends admin_setting { return $data; } else if (in_array(strtolower($data), $colornames)) { return $data; - } else if (preg_match('/rgb\(\d{0,3}%?\, ?\d{0,3}%?, ?\d{0,3}%?\)/i', $data)) { + } else if (preg_match('/^rgb\(\d{0,3}%?\, ?\d{0,3}%?, ?\d{0,3}%?\)$/i', $data)) { return $data; - } else if (preg_match('/rgba\(\d{0,3}%?\, ?\d{0,3}%?, ?\d{0,3}%?\, ?\d(\.\d)?\)/i', $data)) { + } else if (preg_match('/^rgba\(\d{0,3}%?\, ?\d{0,3}%?, ?\d{0,3}%?\, ?\d(\.\d)?\)$/i', $data)) { return $data; - } else if (preg_match('/hsl\(\d{0,3}\, ?\d{0,3}%, ?\d{0,3}%\)/i', $data)) { + } else if (preg_match('/^hsl\(\d{0,3}\, ?\d{0,3}%, ?\d{0,3}%\)$/i', $data)) { return $data; - } else if (preg_match('/hsla\(\d{0,3}\, ?\d{0,3}%,\d{0,3}%\, ?\d(\.\d)?\)/i', $data)) { + } else if (preg_match('/^hsla\(\d{0,3}\, ?\d{0,3}%, ?\d{0,3}%\, ?\d(\.\d)?\)$/i', $data)) { return $data; } else if (($data == 'transparent') || ($data == 'currentColor') || ($data == 'inherit')) { return $data;