Skip to content

Comments

release(runway): cherry-pick chore: Resolve multiple advisories cp-13.20.0#40328

Merged
chloeYue merged 2 commits intorelease/13.20.0from
runway-cherry-pick-13.20.0-1771856528
Feb 23, 2026
Merged

release(runway): cherry-pick chore: Resolve multiple advisories cp-13.20.0#40328
chloeYue merged 2 commits intorelease/13.20.0from
runway-cherry-pick-13.20.0-1771856528

Conversation

@runway-github
Copy link
Contributor

@runway-github runway-github bot commented Feb 23, 2026

Description

Resolve GHSA-2g4f-4pwh-qvx6 partly by
bumping addons-linter, ajv and by modifying the ignored advisory.
The dependency is only used for dev.

Resolve GHSA-378v-28hj-76wf by bumping
bn.js.

Partially resolve GHSA-3ppc-4f35-3m26 by
bumping minimatch, it was partially resolved by ignoring in the first
place.

This should get main passing.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: null


Note

Low Risk
Lockfile/config-only changes to dev/build-time dependencies; low runtime impact, but CI/build behavior could change if tooling relies on exact versions.

Overview
Updates the Yarn audit ignore list by replacing the ignored minimatch advisory ID (1113296 -> 1113371).

Refreshes dependency metadata/locks to resolve advisories, including bumps to addons-linter (9.6.0 -> 9.8.0) and related transitive deps (addons-scanner-utils, @mdn/browser-compat-data, ajv 8.x), plus security-motivated updates to ajv 6.x (6.12.6 -> 6.14.0), bn.js (5.2.1 -> 5.2.3), and minimatch (10.1.1 -> 10.2.2, with updated brace-expansion/balanced-match entries). attribution.txt is updated to reflect the new ajv and bn.js versions.

Written by Cursor Bugbot for commit 02a509a. This will update automatically on new commits. Configure here.

64b4472

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

Resolve GHSA-2g4f-4pwh-qvx6 partly by
bumping `addons-linter`, `ajv` and by modifying the ignored advisory.
The dependency is only used for dev.

Resolve GHSA-378v-28hj-76wf by bumping
`bn.js`.

Partially resolve GHSA-3ppc-4f35-3m26 by
bumping `minimatch`, it was partially resolved by ignoring in the first
place.

This should get main passing.

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/40320?quickstart=1)

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: null

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Dependency-only updates (mostly dev/build tooling) and a Yarn audit
ignore ID change; low risk aside from potential CI/lint/build behavior
shifts from upgraded packages.
> 
> **Overview**
> Updates Yarn security advisory handling and bumps several
transitive/dev-tool dependencies to address advisories and unblock CI.
> 
> Notably updates `addons-linter` (and its deps like
`@mdn/browser-compat-data`, `addons-scanner-utils`, `ajv`, `pino`,
`semver`) and upgrades `bn.js` and `minimatch`, with corresponding
`yarn.lock` refresh (including moving `minimatch` off
`@isaacs/brace-expansion` to `brace-expansion`/`balanced-match`).
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
71d9075. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@runway-github runway-github bot requested a review from a team as a code owner February 23, 2026 14:22
@metamaskbot metamaskbot added the team-bots Bot team (for MetaMask Bot, Runway Bot, etc.) label Feb 23, 2026
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 23, 2026

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/extension-platform (1 files, +1 -1)
  • 📄 .yarnrc.yml +1 -1

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

chloeYue
chloeYue previously approved these changes Feb 23, 2026
@socket-security
Copy link

socket-security bot commented Feb 23, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedaddons-linter@​9.6.0 ⏵ 9.8.09310010095 +170

View full report

@socket-security
Copy link

socket-security bot commented Feb 23, 2026

Warning

MetaMask internal reviewing guidelines:

  • Do not ignore-all
  • Each alert has instructions on how to review if you don't know what it means. If lost, ask your Security Liaison or the supply-chain group
  • Copy-paste ignore lines for specific packages or a group of one kind with a note on what research you did to deem it safe.
    @SocketSecurity ignore npm/PACKAGE@VERSION
Action Severity Alert  (click "▶" to expand/collapse)
Warn Low
Potential code anomaly (AI signal): npm ajv is 100.0% likely to have a medium risk anomaly

Notes: The code augments a meta-schema to permit remote dereferencing of keyword schemas via a hardcoded data.json resource. This introduces network dependency and potential changes to validation semantics at runtime. While not inherently malicious, the remote reference constitutes a notable security and reliability risk that should be mitigated with local fallbacks, input validation, and explicit remote-resource governance.

Confidence: 1.00

Severity: 0.60

From: ?npm/@open-rpc/test-coverage@2.2.4npm/ajv@6.14.0

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/ajv@6.14.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Low
Potential code anomaly (AI signal): npm ajv is 100.0% likely to have a medium risk anomaly

Notes: The code is a straightforward build script to bundle and minify a specified package using Browserify and UglifyJS. The primary security concern is potential path manipulation: json.main is used to form a require path without validating that it stays within the target package directory. If a malicious or misconfigured package.json includes an absolute path or traversal outside the package, the script could bundle unintended files. Otherwise, the script does not perform network access, data exfiltration, or backdoor actions, and there is no hard-coded secrets or dynamic code execution beyond standard bundling/minification.

Confidence: 1.00

Severity: 0.60

From: ?npm/@open-rpc/test-coverage@2.2.4npm/ajv@6.14.0

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/ajv@6.14.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Low
Potential code anomaly (AI signal): npm ajv is 100.0% likely to have a medium risk anomaly

Notes: The code implements a standard AJV-like dynamic parser generator for JTD schemas. There are no explicit malware indicators in this fragment. The primary security concern is the dynamic code generation and execution from external schemas, which introduces a medium risk if schemas are untrusted. With trusted schemas and proper schema management, the risk is typically acceptable within this pattern.

Confidence: 1.00

Severity: 0.60

From: ?npm/addons-linter@9.8.0npm/ajv@8.18.0

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/ajv@8.18.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Low
Potential code anomaly (AI signal): npm ajv is 100.0% likely to have a medium risk anomaly

Notes: The code implements standard timestamp validation with clear logic for normal and leap years and leap seconds. There is no network, file, or execution of external code within this isolated fragment. The only anomalous aspect is assigning a string to validTimestamp.code, which could enable external tooling to inject behavior in certain environments, but this does not constitute active malicious behavior in this isolated snippet. Overall, low to moderate security risk in typical usage; no malware detected within the shown code.

Confidence: 1.00

Severity: 0.60

From: ?npm/addons-linter@9.8.0npm/ajv@8.18.0

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/ajv@8.18.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Low
Potential code anomaly (AI signal): npm ajv is 100.0% likely to have a medium risk anomaly

Notes: This module generates JavaScript code at runtime via standaloneCode(...) and then immediately executes it with require-from-string. Because the generated code can incorporate user-supplied schemas or custom keywords without sanitization or sandboxing, an attacker who controls those inputs could inject arbitrary code and achieve remote code execution in the Node process. Users should audit and lock down the standaloneCode output or replace dynamic evaluation with a safer, static bundling approach.

Confidence: 1.00

Severity: 0.60

From: ?npm/addons-linter@9.8.0npm/ajv@8.18.0

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/ajv@8.18.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 23, 2026

Builds ready [02a509a]
UI Startup Metrics (1439 ± 126 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup14391184189812615221628
load1220985155111312961408
domContentLoaded1213980153911212881400
domInteractive2816128232386
firstPaint1626751893231303
backgroundConnect20218332918208228
firstReactRender18123741925
initialActions107113
loadScripts1028797135211211051211
setupStore1265961419
numNetworkReqs312295202584
BrowserifyPower User HomeuiStartup2354133210334152421724565
load11571021182113711881464
domContentLoaded11391016166812211831368
domInteractive3018113123145
firstPaint188711438152249302
backgroundConnect696252789010683622736
firstReactRender24164772739
initialActions105112
loadScripts93781014551199781172
setupStore17774101839
numNetworkReqs68351442482111
WebpackStandard HomeuiStartup87069211681179421104
load7456121079107816913
domContentLoaded7396071072107809905
domInteractive2716102202377
firstPaint1136127151137210
backgroundConnect26184672940
firstReactRender18123662132
initialActions105113
loadScripts7376051070107807897
setupStore1254261323
numNetworkReqs312299202585
WebpackPower User HomeuiStartup1206885175714612971439
load725650102084721960
domContentLoaded713640101485710952
domInteractive37191713035108
firstPaint1506145278189283
backgroundConnect17013141352164284
firstReactRender21163232326
initialActions102111
loadScripts710638100483708943
setupStore1252041418
numNetworkReqs80351652788136
FirefoxBrowserifyStandard HomeuiStartup17771447290929217902553
load14991228247625115042200
domContentLoaded14981223247625215032199
domInteractive77333435493141
firstPaint------
backgroundConnect67312393470123
firstReactRender14121711516
initialActions103122
loadScripts14681197239024314762167
setupStore227190301751
numNetworkReqs321996192790
BrowserifyPower User HomeuiStartup28542006429144230173627
load15971353289028116452131
domContentLoaded15971347289028116452131
domInteractive13436485100132382
firstPaint------
backgroundConnect41611419943755041089
firstReactRender201591111925
initialActions203122
loadScripts15591330285227315872078
setupStore109974516291529
numNetworkReqs70301963887141
WebpackStandard HomeuiStartup17951479335932918052129
load15161265308328015301720
domContentLoaded15161264308228015301719
domInteractive118301549151132170
firstPaint------
backgroundConnect61282063563132
firstReactRender16132731725
initialActions103122
loadScripts14891245305927615071703
setupStore396141214126113
numNetworkReqs311992172777
WebpackPower User HomeuiStartup26401949384637128053433
load15431298222022016752069
domContentLoaded15421298222022016742069
domInteractive13433750138127429
firstPaint------
backgroundConnect3271101466283340894
firstReactRender20153242229
initialActions2150522
loadScripts15071276219721215832050
setupStore1177805161115513
numNetworkReqs67292293987142
📊 Page Load Benchmark Results

Current Commit: 02a509a | Date: 2/23/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±43ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 739ms (±60ms) 🟢 | historical mean value: 727ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 91ms (±128ms) 🟢 | historical mean value: 80ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 43ms 1.02s 1.40s 1.09s 1.40s
domContentLoaded 739ms 60ms 709ms 1.30s 761ms 1.30s
firstPaint 91ms 128ms 64ms 1.37s 88ms 1.37s
firstContentfulPaint 91ms 128ms 64ms 1.37s 88ms 1.37s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

@chloeYue chloeYue merged commit 7519e5a into release/13.20.0 Feb 23, 2026
170 of 171 checks passed
@chloeYue chloeYue deleted the runway-cherry-pick-13.20.0-1771856528 branch February 23, 2026 15:18
@github-actions github-actions bot locked and limited conversation to collaborators Feb 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

team-bots Bot team (for MetaMask Bot, Runway Bot, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants