Skip to content

Commit 419c0fb

Browse files
committed
Updaet InboxPipelines, improve handling of missing signature validation headers
1 parent da38b33 commit 419c0fb

File tree

3 files changed

+387
-358
lines changed

3 files changed

+387
-358
lines changed

app/Jobs/InboxPipeline/DeleteWorker.php

+10
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,11 @@ protected function verifySignature($headers, $payload)
126126
return false;
127127
}
128128
$signatureData = HttpSignature::parseSignatureHeader($signature);
129+
130+
if(!isset($signatureData['keyId'], $signatureData['signature'], $signatureData['headers']) || isset($signatureData['error'])) {
131+
return false;
132+
}
133+
129134
$keyId = Helpers::validateUrl($signatureData['keyId']);
130135
$id = Helpers::validateUrl($bodyDecoded['id']);
131136
$keyDomain = parse_url($keyId, PHP_URL_HOST);
@@ -186,6 +191,11 @@ protected function blindKeyRotation($headers, $payload)
186191
return;
187192
}
188193
$signatureData = HttpSignature::parseSignatureHeader($signature);
194+
195+
if(!isset($signatureData['keyId'], $signatureData['signature'], $signatureData['headers']) || isset($signatureData['error'])) {
196+
return;
197+
}
198+
189199
$keyId = Helpers::validateUrl($signatureData['keyId']);
190200
$actor = Profile::whereKeyId($keyId)->whereNotNull('remote_url')->first();
191201
if(!$actor) {

0 commit comments

Comments
 (0)