一个 Composer 插件,可自动将 Adobe 官方 APSB26-146 修复(CVE-2026-75650,内部 参考 VULN-39341)应用于 Magento Open Source 和 Mage-OS,用于 StyleSmuggler 零日漏洞, 并自动检测您安装的版本。
它会在安装和更新时自行修补已安装的软件包。它不依赖
cweagans/composer-patches 或根目录的 enable-patching 标志,因此它不会像 composer-patches v1 上的依赖补丁那样静默地什么都不做。
优先选择已包含修复的版本。 如果您可以升级到包含 APSB26-146 的 Magento 或 Mage-OS 版本,请这样做。此插件适用于必须就地修补的商店。
composer require disrex/stylesmuggler-adobe-patches
您必须允许该插件,否则不会修补任何内容。 由于这是一个 Composer 插件, Composer 2.2 及更高版本会询问:
Do you trust "disrex/stylesmuggler-adobe-patches" to execute code and wish to enable it now? [y,n,d,?]
请回答 y。如果您回答 n,或在未先允许的情况下以非交互方式运行(CI、--no-interaction),
Composer 会跳过该插件,您的商店将不会被修补。 要提前允许它
(CI 和部署所必需),请在安装前将以下内容添加到根目录的 composer.json 中:
"config": { "allow-plugins": { "disrex/stylesmuggler-adobe-patches": true } }
在下次执行 composer install 或 composer update 时,该插件会应用补丁并打印其操作:
StyleSmuggler (APSB26-146): applying magento_framework.patch
...
✅ StyleSmuggler (APSB26-146) patched: Magento 2.4.8.
在 post-install-cmd 和 post-update-cmd 时,它会:
magento/product-community-edition(Magento)或
mage-os/product-community-edition(Mage-OS),若无法检测则回退到 magento/framework。framework、module-backend、module-email、module-newsletter
以及错误报告处理器,在正确的供应商目录(magento/ 或 mage-os/)下。它是幂等的:已修补的商店会报告 already applied,且不会发生任何更改。
patch 是严格的。 一个 hunk 只会在周围行完全匹配时应用,因此
修复不会落在错误的位置。对于未针对其构建的版本,不匹配会
以响亮的错误报告,而不会静默应用或隐藏。Adobe 的补丁按 Magento 补丁级别构建;此插件附带所有补丁,并根据您的版本选择。
已在 Magento 2.4.8 上进行了端到端验证,框架补丁已针对 Mage-OS
framework 2.3.0(Magento 2.4.8-p5)和 3.4.0(Magento 2.4.9)验证。其他补丁级别依赖
patch 的严格性:它们会在文件未更改时应用,否则报告不匹配。
| Magento 版本线 |
|---|
Mage-OS 版本线根据其跟踪的 Magento 版本映射到这些补丁。
composer remove disrex/stylesmuggler-adobe-patches
这将停止重新应用补丁。它不会还原已修补的文件;请升级到包含该修复的版本 并重新安装以获得干净的 vendor 文件。
修补会关闭大门;它不会驱逐已进入的攻击者,也不会使已读取的机密失效。 如果您发现任何入侵指标,请轮换加密密钥、数据库和管理员凭据、API 令牌和支付网关密钥, 并按照缓解仓库中的清理指南进行操作。
修复来自 Adobe(APSB26-146)。patches/ 下的补丁文件是 Adobe 的 VULN-39341,
由 yellowteak 重新打包以按包应用。
漏洞发现和原始公告归功于 Sansec。此插件自身的代码采用 MIT 许可证;patches/ 下的补丁内容归 Adobe 所有,不受该许可证约束。
| Adobe 补丁构建目标 |
|---|
| 2.4.4 | 2.4.4-p18 |
| 2.4.5 | 2.4.5-p17 |
| 2.4.6 | 2.4.6-p15 |
| 2.4.7 | 2.4.7-p10 |
| 2.4.8 | 2.4.8-p5 |
| 2.4.9 | 2.4.9 |