Skip to content

Merge v2.4 into v2.x - #1965

Merged
mongodb-drivers-pr-bot[bot] merged 5 commits into
v2.xfrom
merge-v2.4-into-v2.x-1787268321571
Aug 21, 2026
Merged

Merge v2.4 into v2.x#1965
mongodb-drivers-pr-bot[bot] merged 5 commits into
v2.xfrom
merge-v2.4-into-v2.x-1787268321571

Conversation

@mongodb-drivers-pr-bot

Copy link
Copy Markdown
Contributor

Merge new changes from v2.4 into v2.x.

Commits

Resolving conflicts

To resolve any conflicts, check out the temporary branch and run the following command:
git merge v2.x -m "Resolve conflicts in v2.x"

Ignoring changes

To ignore from the remote branch, first reset the temporary branch to v2.x and manually merge using the `ours` merge strategy:
git reset --hard v2.x
git merge --strategy=ours v2.4 -m "Ignore changes from v2.4"

Then, push the temporary branch to update the pull request.

GromNaN and others added 5 commits August 18, 2026 13:07
Enable 2 new features when creating merge-up PR:

- Add "merge-up" label
- Assign the approver of the merged pull request

Backport rector fixes and drivers-evergreen-tools update in order to make the CI pass
# Conflicts:
#	.github/workflows/merge-up.yml
#	rector.php
#	tests/Model/IndexInfoFunctionalTest.php
# Conflicts:
#	rector.php
- name: Create pull request
id: create-pull-request
uses: alcaeus/automatic-merge-up-action@1.0.1
uses: alcaeus/automatic-merge-up-action@1.1.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Semgrep identified an issue in your code:

alcaeus/automatic-merge-up-action@1.1.0 points to a mutable tag, so this workflow can start running different action code without any change here. If that tag is repointed, the new code would run with write access to contents, pull requests, and OIDC tokens.

More details about this

Create pull request runs alcaeus/automatic-merge-up-action@1.1.0, which is a mutable tag rather than a specific commit. If the action owner or anyone who compromises that repository moves 1.1.0 to a different commit, this workflow will silently run the new code with this job’s id-token: write, contents: write, and pull-requests: write permissions.

A plausible attack looks like this:

  1. An attacker gains control of the alcaeus/automatic-merge-up-action repository or its release process.
  2. They repoint the 1.1.0 tag to a commit that adds a malicious step inside the action.
  3. The next push to a branch matching v[0-9]+.[0-9x]+ triggers this merge-up job.
  4. When uses: alcaeus/automatic-merge-up-action@1.1.0 runs, GitHub fetches the attacker’s new commit instead of the code originally reviewed.
  5. That malicious action can read inputs like ref: ${{ github.ref_name }} and then misuse the job token and granted permissions to push code, open or modify pull requests, or mint an OIDC token from id-token: write for follow-on access.

Because the reference is @1.1.0 instead of a full 40-character commit SHA, the exact code executed by this workflow can change without any change in this repository.

To resolve this comment:

✨ Commit fix suggestion
  1. Replace the mutable action reference with a full 40-character commit SHA in the uses line.
    Change uses: alcaeus/automatic-merge-up-action@1.1.0 to uses: alcaeus/automatic-merge-up-action@<full-40-character-commit-sha>.

  2. Keep the human-readable version as an inline comment so the pinned revision is easier to maintain, for example uses: alcaeus/automatic-merge-up-action@<sha> # v1.1.0.

  3. Resolve the SHA from the exact upstream release you intend to trust, and make sure it is the commit for 1.1.0, not a branch or shortened hash. Pinning to a commit prevents the action owner from silently moving the referenced version later.

Alternatively, if you control the action code and want to avoid third-party pinning, replace the external action with a local action reference such as uses: ./.github/actions/<action-name>.

💬 Ignore this finding

Reply with Semgrep commands to ignore this finding.

  • /fp <comment> for false positive
  • /ar <comment> for acceptable risk
  • /other <comment> for all other reasons

Alternatively, triage in Semgrep AppSec Platform to ignore the finding created by github-actions-mutable-action-tag.

🛟 Help? Slack #semgrep-help or go/semgrep-help.

Resolution Options:

  • Fix the code
  • Reply /fp $reason (if security gap doesn’t exist)
  • Reply /ar $reason (if gap is valid but intentional; add mitigations/monitoring)
  • Reply /other $reason (e.g., test-only)

You can view more details about this finding in the Semgrep AppSec Platform.

@codecov-commenter

codecov-commenter commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@mongodb-drivers-pr-bot
mongodb-drivers-pr-bot Bot merged commit 576445d into v2.x Aug 21, 2026
64 of 65 checks passed
@mongodb-drivers-pr-bot
mongodb-drivers-pr-bot Bot deleted the merge-v2.4-into-v2.x-1787268321571 branch August 21, 2026 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants