From e79525ac8b23e90dc3748e5748f719eea7998214 Mon Sep 17 00:00:00 2001 From: Pier Angelo Vendrame <pierov@torproject.org> Date: Tue, 26 Mar 2024 18:04:32 +0100 Subject: [PATCH] Bug 42472: Spoof timezone in XSLT. --- dom/xslt/xslt/txEXSLTFunctions.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dom/xslt/xslt/txEXSLTFunctions.cpp b/dom/xslt/xslt/txEXSLTFunctions.cpp index d4882d0b13cf5..dbdc06296ccd0 100644 --- a/dom/xslt/xslt/txEXSLTFunctions.cpp +++ b/dom/xslt/xslt/txEXSLTFunctions.cpp @@ -591,7 +591,14 @@ nsresult txEXSLTFunctionCall::evaluate(txIEvalContext* aContext, // http://exslt.org/date/functions/date-time/ PRExplodedTime prtime; - PR_ExplodeTime(PR_Now(), PR_LocalTimeParameters, &prtime); + PR_ExplodeTime( + PR_Now(), + // We are not allowed to access the Document when evaluating this, so + // fall back to the general function. + nsContentUtils::ShouldResistFingerprinting(RFPTarget::Unknown) + ? PR_GMTParameters + : PR_LocalTimeParameters, + &prtime); int32_t offset = (prtime.tm_params.tp_gmt_offset + prtime.tm_params.tp_dst_offset) / -- GitLab