summaryrefslogtreecommitdiff
path: root/databases/adminer/files/makephar.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--databases/adminer/files/makephar.php23
1 files changed, 19 insertions, 4 deletions
diff --git a/databases/adminer/files/makephar.php b/databases/adminer/files/makephar.php
index 4e463e7fdc4e..ad54a3cfe4cb 100644
--- a/databases/adminer/files/makephar.php
+++ b/databases/adminer/files/makephar.php
@@ -54,15 +54,30 @@ foreach(new DirectoryIterator(__DIR__ . '/plugins') as $file)
if ($file->isFile())
{
$contents = php_strip_whitespace($file->getRealPath());
- $pharFile = 'adminer-plugins/' . $file->getFileName();
- $plugins[$pharFile] = $contents;
- if (preg_match('/class\s(A[a-zA-Z]+)\sextends\sAdminer/', $contents, $m))
- {
+ $fileName = $file->getFileName();
+ $pharFile = 'adminer-plugins/' . $fileName;
+
+ if (
+ /**
+ * Skip affected plugin
+ * https://nvd.nist.gov/vuln/detail/CVE-2023-45197
+ */
+ $fileName !== 'file-upload.php'
+ /**
+ * Adminer editor's plugins are only relevant
+ * in Adminer editor.
+ */
+ && !str_starts_with($fileName, 'editor')
+ && preg_match('/class\s(A[a-zA-Z0-9]+)\sextends\sAdminer/', $contents, $m)
+ ) {
+ $plugins[$pharFile] = $contents;
$classMap[$m[1]] = $file->getFileName();
}
}
}
+ksort($classMap);
+
$phar->setStub(
sprintf(
$stub,