1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2025-06-27 16:35:57 +00:00
Commit graph

19255 commits

Author SHA1 Message Date
Earl Warren
f571085e19 [v7.0/forgejo] fix(sec): consider webauthn for external login (#7757)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7757
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2025-05-02 06:27:06 +00:00
Earl Warren
685767f70e [v7.0/forgejo] fix(sec): only degrade permission check for git push (#7754)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7754
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2025-05-02 06:26:49 +00:00
Gusted
f4f7083960
fix(sec): add tests for OAuth2 signup
Test two scenarios:
1. Account linking is set to `auto` and tries to link against a user who
is enrolled into Webauthn should show 2FA screen.
2. User is already linked and logins via OAuth2 and is enrolled into
WebAuthn should show 2FA screen.

(cherry picked from commit aa4ae81fe0)
2025-05-02 07:39:47 +02:00
Gusted
23e6ca0415
fix(sec): consider webauthn for external login
- Currently during external login (such as OAuth2), if the user is
enrolled into Webauthn and not enrolled into TOTP then no 2FA is being
done during external login and when account linking is set to `auto` then
also during automatic linking. This results in bypassing the 2FA of the
user.
- Create a new unified function that checks if the user is enrolled into
2FA and use this when necessary. Rename the old `HasTwoFactorByUID`
function to `HasTOTPByUID` which is a more appropiate naming.

(cherry picked from commit df5d656827)

Conflicts:
  the original commit was trimmed down to be fit for backport
2025-05-02 07:39:14 +02:00
Gusted
fa502953a9
fix(sec): only degrade permission check for git push
- A permission check is done when incoming SSH connections are handled (this is
run before git hooks). If this check is for write access and AGit flow
is supported, then this check is degraded to a read check. The
motivation behind this is that for AGit flow the user does not need
write permissions but only read permissions.
- The `if` condition cannot check if this is for AGit flow, as the Git
protocol has not run yet and thus has to delay this permission check.
This `if` condition failed to consider that this also might be run for
LFS which does not care about AGit flow and would not do a delayed
permission check, so ensure that this degradition only happens when the
`git-receive-pack` command is being run (which roughly equals to `git
push`).
- Clarify code comment.
- Added integration test.

(cherry picked from commit 60c1af244a)

Conflicts:
	tests/integration/git_test.go
   - t.Context() does not exist
   - tests do not loop over Git object formats
2025-05-02 07:09:35 +02:00
Gusted
87de43ba60 [v7.0/forgejo] chore: replace github.com/go-testfixtures/testfixtures (#7730)
**Backport:** #7715

- Replaces `github.com/go-testfixtures/testfixtures` with a homebrew solution that is fully compatible.
- The reason to replace this library is that it pulls in a lot of other libraries which is causing issues: (1) the test binary becomes bigger than necessary which really shows in incremental build times (this patch removes 27.6MiB of the integration test binary) (2) it pulls in libraries (mainly database drivers) that are not used and are not easy to upgrade in case of a security vulnerability, causing CI failures.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7730
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-04-30 14:48:56 +00:00
forgejo-backport-action
8bd8abc0bc [v7.0/forgejo] chore(release): next-digest moved to invisible.forgejo.org (#7724)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/7720

In order to improve the security of the Forgejo infrastructure the next-digest repository was moved to a private instance.

## Testing

- After the merge, trigger a mirror to build a new v12.0-test release
- Verify in experimental that the workflows works as expected
- Verify v12.next.forgejo.org is upgraded with the latest commit
- Once the test completes
    - Tag for backport to v11 & v7
    - Manual backport to v7 because it conflicts

Co-authored-by: Earl Warren <contact@earl-warren.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7724
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-04-29 18:04:44 +00:00
Earl Warren
e45e24c852 [v7.0/forgejo] fix: do not set GOPROXY=direct in Dockerfile* (#7710)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/7707

The default should be https://proxy.golang.org,direct otherwise
someone trying to build the container image from sources will run into
throttling limits imposed by code.forgejo.org (making more tha 10
request per second).

(cherry picked from commit d2f7fa27ba)

```
Conflicts:
	Dockerfile
	Dockerfile.rootless
  trivial context conflict
```

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7710
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: Lucas <sclu1034@noreply.codeberg.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-04-28 21:55:49 +00:00
Earl Warren
d5f71a15f3 [v7.0/forgejo] chore: rely on renovate for security checks (#7676)
There is no way to silence vulncheck when there is a non-relevant
security error (https://github.com/golang/go/issues/61211).

This is problematic when fixing such an error would require upgrading
a large amount of dependencies, for instance in the case of

https://github.com/ClickHouse/ch-go/security/advisories/GHSA-m454-3xv7-qj85

which is only ever relevant for testing and not production in the
context of Forgejo.

Now that renovate is used for stable branches, it can be used as an
alternative. It will propose relevant security updates by default and
it will also be possible to decline them if they do not matter.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7676
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-04-27 12:40:00 +00:00
Renovate Bot
79f43238bd Update module golang.org/x/net to v0.38.0 (v7.0/forgejo) (#7368)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7368
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-03-28 12:46:07 +00:00
Renovate Bot
fdc15fccd1 Update module golang.org/x/oauth2 to v0.27.0 [SECURITY] (v7.0/forgejo) (#7300)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [golang.org/x/oauth2](https://pkg.go.dev/golang.org/x/oauth2) | require | minor | [`v0.16.0` -> `v0.27.0`](https://cs.opensource.google/go/x/oauth2/+/refs/tags/v0.16.0...refs/tags/v0.27.0) |

---

### Unexpected memory consumption during token parsing in golang.org/x/oauth2
[CVE-2025-22868](https://nvd.nist.gov/vuln/detail/CVE-2025-22868) / [GO-2025-3488](https://pkg.go.dev/vuln/GO-2025-3488)

<details>
<summary>More information</summary>

#### Details
An attacker can pass a malicious malformed token which causes unexpected memory to be consumed during parsing.

#### Severity
Unknown

#### References
- [https://go.dev/cl/652155](https://go.dev/cl/652155)
- [https://go.dev/issue/71490](https://go.dev/issue/71490)

This data is provided by [OSV](https://osv.dev/vulnerability/GO-2025-3488) and the [Go Vulnerability Database](https://github.com/golang/vulndb) ([CC-BY 4.0](https://github.com/golang/vulndb#license)).
</details>

---

### Configuration

📅 **Schedule**: Branch creation - "" (UTC), Automerge - "* 0-3 * * *" (UTC).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDUuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNS4xIiwidGFyZ2V0QnJhbmNoIjoidjcuMC9mb3JnZWpvIiwibGFiZWxzIjpbImRlcGVuZGVuY3ktdXBncmFkZSIsInRlc3Qvbm90LW5lZWRlZCJdfQ==-->

Co-authored-by: Earl Warren <contact@earl-warren.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7300
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-03-22 16:59:40 +00:00
Renovate Bot
e35162991d Update module golang.org/x/net to v0.36.0 [SECURITY] (v7.0/forgejo) (#7299)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [golang.org/x/net](https://pkg.go.dev/golang.org/x/net) | require | minor | [`v0.33.0` -> `v0.36.0`](https://cs.opensource.google/go/x/net/+/refs/tags/v0.33.0...refs/tags/v0.36.0) |

---

### HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
[CVE-2025-22870](https://nvd.nist.gov/vuln/detail/CVE-2025-22870) / [GHSA-qxp5-gwg8-xv66](https://github.com/advisories/GHSA-qxp5-gwg8-xv66) / [GO-2025-3503](https://pkg.go.dev/vuln/GO-2025-3503)

<details>
<summary>More information</summary>

#### Details
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied.

#### Severity
Unknown

#### References
- [https://go.dev/cl/654697](https://go.dev/cl/654697)
- [https://go.dev/issue/71984](https://go.dev/issue/71984)

This data is provided by [OSV](https://osv.dev/vulnerability/GO-2025-3503) and the [Go Vulnerability Database](https://github.com/golang/vulndb) ([CC-BY 4.0](https://github.com/golang/vulndb#license)).
</details>

---

### HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
[CVE-2025-22870](https://nvd.nist.gov/vuln/detail/CVE-2025-22870) / [GHSA-qxp5-gwg8-xv66](https://github.com/advisories/GHSA-qxp5-gwg8-xv66) / [GO-2025-3503](https://pkg.go.dev/vuln/GO-2025-3503)

<details>
<summary>More information</summary>

#### Details
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied.

#### Severity
- CVSS Score: 4.4 / 10 (Medium)
- Vector String: `CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L`

#### References
- [https://nvd.nist.gov/vuln/detail/CVE-2025-22870](https://nvd.nist.gov/vuln/detail/CVE-2025-22870)
- [https://go-review.googlesource.com/q/project:net](https://go-review.googlesource.com/q/project:net)
- [https://go.dev/cl/654697](https://go.dev/cl/654697)
- [https://go.dev/issue/71984](https://go.dev/issue/71984)
- [https://pkg.go.dev/vuln/GO-2025-3503](https://pkg.go.dev/vuln/GO-2025-3503)
- [http://www.openwall.com/lists/oss-security/2025/03/07/2](http://www.openwall.com/lists/oss-security/2025/03/07/2)

This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-qxp5-gwg8-xv66) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Configuration

📅 **Schedule**: Branch creation - "" (UTC), Automerge - "* 0-3 * * *" (UTC).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDUuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNS4xIiwidGFyZ2V0QnJhbmNoIjoidjcuMC9mb3JnZWpvIiwibGFiZWxzIjpbImRlcGVuZGVuY3ktdXBncmFkZSIsInRlc3Qvbm90LW5lZWRlZCJdfQ==-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7299
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-03-22 15:32:12 +00:00
Renovate Bot
57d3258029 Update module github.com/golang-jwt/jwt/v5 to v5.2.2 [SECURITY] (v7.0/forgejo) (#7297)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/golang-jwt/jwt/v5](https://github.com/golang-jwt/jwt) | require | patch | `v5.2.0` -> `v5.2.2` |

---

### jwt-go allows excessive memory allocation during header parsing
[CVE-2025-30204](https://nvd.nist.gov/vuln/detail/CVE-2025-30204) / [GHSA-mh63-6h87-95cp](https://github.com/advisories/GHSA-mh63-6h87-95cp)

<details>
<summary>More information</summary>

#### Details
##### Summary

Function [`parse.ParseUnverified`](c035977d9e/parser.go (L138-L139)) currently splits (via a call to [strings.Split](https://pkg.go.dev/strings#Split)) its argument (which is untrusted data) on periods.

As a result, in the face of a malicious request whose _Authorization_ header consists of `Bearer ` followed by many period characters, a call to that function incurs allocations to the tune of O(n) bytes (where n stands for the length of the function's argument), with a constant factor of about 16. Relevant weakness: [CWE-405: Asymmetric Resource Consumption (Amplification)](https://cwe.mitre.org/data/definitions/405.html)

##### Details

See [`parse.ParseUnverified`](c035977d9e/parser.go (L138-L139))

##### Impact

Excessive memory allocation

#### Severity
- CVSS Score: 7.5 / 10 (High)
- Vector String: `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H`

#### References
- [https://github.com/golang-jwt/jwt/security/advisories/GHSA-mh63-6h87-95cp](https://github.com/golang-jwt/jwt/security/advisories/GHSA-mh63-6h87-95cp)
- [0951d18428)
- [https://github.com/golang-jwt/jwt](https://github.com/golang-jwt/jwt)

This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-mh63-6h87-95cp) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Release Notes

<details>
<summary>golang-jwt/jwt (github.com/golang-jwt/jwt/v5)</summary>

### [`v5.2.2`](https://github.com/golang-jwt/jwt/releases/tag/v5.2.2)

[Compare Source](https://github.com/golang-jwt/jwt/compare/v5.2.1...v5.2.2)

#### What's Changed

-   Fixed https://github.com/golang-jwt/jwt/security/advisories/GHSA-mh63-6h87-95cp by [@&#8203;mfridman](https://github.com/mfridman)
-   Fixed some typos by [@&#8203;Ashikpaul](https://github.com/Ashikpaul) in https://github.com/golang-jwt/jwt/pull/382
-   build: add go1.22 to ci workflows by [@&#8203;mfridman](https://github.com/mfridman) in https://github.com/golang-jwt/jwt/pull/383
-   Bump golangci/golangci-lint-action from 4 to 5 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/golang-jwt/jwt/pull/387
-   Bump golangci/golangci-lint-action from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/golang-jwt/jwt/pull/389
-   chore: bump ci tests to include go1.23 by [@&#8203;mfridman](https://github.com/mfridman) in https://github.com/golang-jwt/jwt/pull/405
-   Fix jwt -show by [@&#8203;AlexanderYastrebov](https://github.com/AlexanderYastrebov) in https://github.com/golang-jwt/jwt/pull/406
-   docs: typo by [@&#8203;kvii](https://github.com/kvii) in https://github.com/golang-jwt/jwt/pull/407
-   Update SECURITY.md by [@&#8203;oxisto](https://github.com/oxisto) in https://github.com/golang-jwt/jwt/pull/416
-   Update `jwt.Parse` example to use `jwt.WithValidMethods` by [@&#8203;mattt](https://github.com/mattt) in https://github.com/golang-jwt/jwt/pull/425

#### New Contributors

-   [@&#8203;Ashikpaul](https://github.com/Ashikpaul) made their first contribution in https://github.com/golang-jwt/jwt/pull/382
-   [@&#8203;kvii](https://github.com/kvii) made their first contribution in https://github.com/golang-jwt/jwt/pull/407
-   [@&#8203;mattt](https://github.com/mattt) made their first contribution in https://github.com/golang-jwt/jwt/pull/425

**Full Changelog**: https://github.com/golang-jwt/jwt/compare/v5.2.1...v5.2.2

### [`v5.2.1`](https://github.com/golang-jwt/jwt/releases/tag/v5.2.1)

[Compare Source](https://github.com/golang-jwt/jwt/compare/v5.2.0...v5.2.1)

#### What's Changed

-   chore: remove unnecessary conversions from tests by [@&#8203;estensen](https://github.com/estensen) in https://github.com/golang-jwt/jwt/pull/370
-   Trivial: Typo fix for ECDSA error message by [@&#8203;tjs-cinemo](https://github.com/tjs-cinemo) in https://github.com/golang-jwt/jwt/pull/373
-   Fix incorrect error return by [@&#8203;ss49919201](https://github.com/ss49919201) in https://github.com/golang-jwt/jwt/pull/371

#### New Contributors

-   [@&#8203;tjs-cinemo](https://github.com/tjs-cinemo) made their first contribution in https://github.com/golang-jwt/jwt/pull/373
-   [@&#8203;ss49919201](https://github.com/ss49919201) made their first contribution in https://github.com/golang-jwt/jwt/pull/371

**Full Changelog**: https://github.com/golang-jwt/jwt/compare/v5.2.0...v5.2.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "" (UTC), Automerge - "* 0-3 * * *" (UTC).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDUuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNS4xIiwidGFyZ2V0QnJhbmNoIjoidjcuMC9mb3JnZWpvIiwibGFiZWxzIjpbImRlcGVuZGVuY3ktdXBncmFkZSIsInRlc3Qvbm90LW5lZWRlZCJdfQ==-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7297
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-03-22 15:28:09 +00:00
Renovate Bot
8bc5e7da22 Update module github.com/redis/go-redis/v9 to v9.7.3 (v7.0/forgejo) (#7283)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7283
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-03-21 10:09:03 +00:00
forgejo-backport-action
9830150297 [v7.0/forgejo] chore: Make Forgejo build with go1.24 (#7233)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/6299

- [Go 1.24](https://groups.google.com/g/golang-announce/c/vYMfuq_XO6w) is currently out for rc1.
- Using it to test unit tests and integration testing it failed horriblywith strange panics and errors, it is caused by ca63101df4 and Forgejo trying to access the wrong internal data structures that have been changed in Go 1.24.
- Use the new data structure for Go 1.24 and above.

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7233
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-03-15 16:03:19 +00:00
Gusted
d7e483fd52 [v7.0/forgejo] fix: consider public issues for project boards (#7143) (#7145)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/7143

- The security patch of forgejo/forgejo#6843 fixed the issue where project boards loaded all issues without considering if the doer actually had permission to view that issue. Within that patch the call to `Issues` was modified to include this permission checking.
- The query being generated was not entirely correct. Issues in public repositories weren't considered correctly (partly the fault of not setting `AllPublic` unconditionally) in the cause an authenticated user loaded the project.
- This is now fixed by setting `AllPublic` unconditionally and subsequently fixing the `Issue` function to ensure that the combination of setting `AllPublic` and `User` generates the correct query, by combining the permission check and issues in public repositories as one `AND` query.
- Added unit testing.
- Added integration testing.
- Resolves Codeberg/Community#1809
- Regression of https://codeberg.org/forgejo/forgejo/pulls/6843

(cherry picked from commit a2958f5a26)

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7145
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-03-07 00:20:25 +00:00
Renovate Bot
70ccec328d Update golang packages to v1.23 (v7.0/forgejo) (minor) (#7081)
- Bump golangci-lint and fixes new linting issues.
- Bump golang.org/x/crypto.
- Bump deadcode package
- Bump govulncheck.

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7081
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-03-04 22:15:29 +00:00
Earl Warren
957774e5e7 [v7.0/forgejo] fix(release): the rootless image version label is not set (#7049)
Backport: https://codeberg.org/forgejo/forgejo/pulls/7038

There is a test for that but it was a false positive.

Refs: https://code.forgejo.org/forgejo/forgejo-build-publish/pulls/27
(cherry picked from commit 078ca85d87)

```
Conflicts:
	Dockerfile.rootless
  trivial context conflict
```

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7049
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-02-25 07:31:47 +00:00
Renovate Bot
d75b11583c Update https://code.forgejo.org/forgejo/forgejo-build-publish action to v5.3.4 (v7.0/forgejo) (#7051)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://code.forgejo.org/forgejo/forgejo-build-publish](https://code.forgejo.org/forgejo/forgejo-build-publish) | action | minor | `v5.2.1` -> `v5.3.4` |
| [https://code.forgejo.org/forgejo/forgejo-build-publish](https://code.forgejo.org/forgejo/forgejo-build-publish) | action | minor | `v5.1.1` -> `v5.3.4` |

---

### Release Notes

<details>
<summary>forgejo/forgejo-build-publish (https://code.forgejo.org/forgejo/forgejo-build-publish)</summary>

### [`v5.3.4`](https://code.forgejo.org/forgejo/forgejo-build-publish/compare/v5.3.3...v5.3.4)

[Compare Source](https://code.forgejo.org/forgejo/forgejo-build-publish/compare/v5.3.3...v5.3.4)

### [`v5.3.3`](https://code.forgejo.org/forgejo/forgejo-build-publish/compare/v5.3.2...v5.3.3)

[Compare Source](https://code.forgejo.org/forgejo/forgejo-build-publish/compare/v5.3.2...v5.3.3)

### [`v5.3.2`](https://code.forgejo.org/forgejo/forgejo-build-publish/compare/v5.3.1...v5.3.2)

[Compare Source](https://code.forgejo.org/forgejo/forgejo-build-publish/compare/v5.3.1...v5.3.2)

### [`v5.3.1`](https://code.forgejo.org/forgejo/forgejo-build-publish/compare/v5.3.0...v5.3.1)

[Compare Source](https://code.forgejo.org/forgejo/forgejo-build-publish/compare/v5.3.0...v5.3.1)

### [`v5.3.0`](https://code.forgejo.org/forgejo/forgejo-build-publish/compare/v5.2.1...v5.3.0)

[Compare Source](https://code.forgejo.org/forgejo/forgejo-build-publish/compare/v5.2.1...v5.3.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - "* 0-3 * * *" (UTC).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzguMSIsInVwZGF0ZWRJblZlciI6IjM5LjE3OC4xIiwidGFyZ2V0QnJhbmNoIjoidjcuMC9mb3JnZWpvIiwibGFiZWxzIjpbImRlcGVuZGVuY3ktdXBncmFkZSIsInRlc3Qvbm90LW5lZWRlZCJdfQ==-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7051
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-02-24 10:54:30 +00:00
Earl Warren
1ddb0f55a0 [v7.0/forgejo] fix(sec): Forgejo Actions web routes (#6845)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6845
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2025-02-08 09:15:43 +00:00
0ko
d0e10205fc [v7.0/forgejo] fix(sec): permission check for project issue (#6846) (merge commit)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6846
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2025-02-08 08:09:36 +00:00
Earl Warren
c8293d0e3c
chore(refactor): remove deadcode from port of Add API for Variables (#29520) 2025-02-08 07:50:19 +00:00
Gusted
4c3227eeed
fix(sec): web route test edit and delete variable
Exhaustively test each combination of deleting and updating a action
action variable via the web route.

(cherry picked from commit cd0334f85ac46db7b1b42770c9b4e809ea6f4254)
2025-02-08 07:50:19 +00:00
Gusted
6e13dd44d6
fix(sec): add tests for web route delete runner
Exhaustively test each combination of deleting and updating a action
runner via the web route. Although updating an action runner was not
impacted, its good to have a test nonetheless.

(cherry picked from commit 4ace0e938e7c9efaa40cf17e9440b423ee572375)
2025-02-08 07:50:19 +00:00
Gusted
4c8c215b75
fix(sec): web route update and delete runner variables
The web route to update and delete variables of runners did not check if
the ID that was given belonged to the context it was requested in, this
made it possible to update and delete every existing runner variable of
a instance for any authenticated user.

The code has been reworked to always take into account the context of
the request (owner and repository ID).

(cherry picked from commit 5cb8fdfc8b9213cc368cd074aac93a1327ea20b0)
2025-02-08 07:50:19 +00:00
sillyguodong
0e82cf121d
chore(refactor): partial port of Add API for Variables (#29520)
The commit has, in addition to the implementation of the API, a few
function refactor that are useful in backports.

---

close #27801

---------

Co-authored-by: silverwind <me@silverwind.io>
(cherry picked from commit 62b073e6f31645e446c7e8d6b5a506f61b47924e)

Conflicts:
	- modules/util/util.go
          Trivial resolution, only picking the newly introduced function
	- routers/api/v1/swagger/options.go
          Trivial resolution. We don't have UserBadges, don't pick that part.
	- templates/swagger/v1_json.tmpl
          Regenerated.
(cherry picked from commit 16696a42f5)
2025-02-08 07:50:19 +00:00
Gusted
5b30b7dc6f
fix(sec): web route delete runner
The web route to delete action runners did not check if the ID that was
given belonged to the context it was requested in, this made it possible
to delete every existing runner of a instance by a authenticated user.

The code was reworked to ensure that the caller of the delete
runner function retrieved the runner by ID and then checks if it belongs
to the context it was requested in, although this is not an optimal
solution it is consistent with the context checking of other code for
runners.

(cherry picked from commit 567765be03d56d6c8c36bb783c330c8ca70b1aca)

Conflicts:
	models/actions/runner.go
	models/actions/runner_test.go
  conflicting UUID bug fix and associated tests do not exist
2025-02-08 07:50:19 +00:00
Gusted
4159529a06
fix(sec): add tests for private issues on projects
- Add integration and unit tests to ensure that private issues on
projects are not shown in any way, shape or form when the doer has no
access to it.

(cherry picked from commit 55dcc1d06cb12ddb750a0289fbb6e212f93957a8)
2025-02-05 22:29:24 +00:00
Earl Warren
913e3b536e
fix(sec): permission check for project issue
- Do an access check when loading issues for a project board, currently
this is not done and exposes the title, labels and existence of a
private issue that the viewer of the project board may not have access
to.
- The number of issues cannot be calculated in a efficient manner
and stored in the database because their number may vary depending on
the visibility of the repositories participating in the project. The
previous implementation used the pre-calculated numbers stored in each
project, which did not reflect that potential variation.
- The code is derived from https://github.com/go-gitea/gitea/pull/22865

(cherry picked from commit 2193afaeb9954a5778f5a47aafd0e6fbbf48d000)
2025-02-05 22:05:22 +00:00
Renovate Bot
0f1cf6dade Update dependency katex to v0.16.21 [SECURITY] (v7.0/forgejo) (#6693)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [katex](https://katex.org) ([source](https://github.com/KaTeX/KaTeX)) | dependencies | patch | [`0.16.10` -> `0.16.21`](https://renovatebot.com/diffs/npm/katex/0.16.10/0.16.21) |

---

### KaTeX \htmlData does not validate attribute names
[CVE-2025-23207](https://nvd.nist.gov/vuln/detail/CVE-2025-23207) / [GHSA-cg87-wmx4-v546](https://github.com/advisories/GHSA-cg87-wmx4-v546)

<details>
<summary>More information</summary>

#### Details
##### Impact
KaTeX users who render untrusted mathematical expressions with `renderToString` could encounter malicious input using `\htmlData` that runs arbitrary JavaScript, or generate invalid HTML.

##### Patches
Upgrade to KaTeX v0.16.21 to remove this vulnerability.

##### Workarounds
- Avoid use of or turn off the `trust` option, or set it to forbid `\htmlData` commands.
- Forbid inputs containing the substring `"\\htmlData"`.
- Sanitize HTML output from KaTeX.

##### Details
`\htmlData` did not validate its attribute name argument, allowing it to generate invalid or malicious HTML that runs scripts.

##### For more information
If you have any questions or comments about this advisory:

- Open an issue or security advisory in the [KaTeX repository](https://github.com/KaTeX/KaTeX/)
- Email us at [katex-security@mit.edu](mailto:katex-security@mit.edu)

#### Severity
- CVSS Score: 6.3 / 10 (Medium)
- Vector String: `CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L`

#### References
- [https://github.com/KaTeX/KaTeX/security/advisories/GHSA-cg87-wmx4-v546](https://github.com/KaTeX/KaTeX/security/advisories/GHSA-cg87-wmx4-v546)
- [https://nvd.nist.gov/vuln/detail/CVE-2025-23207](https://nvd.nist.gov/vuln/detail/CVE-2025-23207)
- [ff289955e8)
- [https://github.com/KaTeX/KaTeX](https://github.com/KaTeX/KaTeX)

This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-cg87-wmx4-v546) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Release Notes

<details>
<summary>KaTeX/KaTeX (katex)</summary>

### [`v0.16.21`](https://github.com/KaTeX/KaTeX/blob/HEAD/CHANGELOG.md#01621-2025-01-17)

[Compare Source](https://github.com/KaTeX/KaTeX/compare/v0.16.20...v0.16.21)

##### Bug Fixes

-   escape \htmlData attribute name ([57914ad](57914ad91e))

### [`v0.16.20`](https://github.com/KaTeX/KaTeX/blob/HEAD/CHANGELOG.md#01620-2025-01-12)

[Compare Source](https://github.com/KaTeX/KaTeX/compare/v0.16.19...v0.16.20)

##### Bug Fixes

-   \providecommand does not overwrite existing macro ([#&#8203;4000](https://github.com/KaTeX/KaTeX/issues/4000)) ([6d30fe4](6d30fe47b0)), closes [#&#8203;3928](https://github.com/KaTeX/KaTeX/issues/3928)

### [`v0.16.19`](https://github.com/KaTeX/KaTeX/blob/HEAD/CHANGELOG.md#01619-2024-12-29)

[Compare Source](https://github.com/KaTeX/KaTeX/compare/v0.16.18...v0.16.19)

##### Bug Fixes

-   **types:** improve `strict` function type ([#&#8203;4009](https://github.com/KaTeX/KaTeX/issues/4009)) ([4228b4e](4228b4eb52))

### [`v0.16.18`](https://github.com/KaTeX/KaTeX/blob/HEAD/CHANGELOG.md#01618-2024-12-18)

[Compare Source](https://github.com/KaTeX/KaTeX/compare/v0.16.17...v0.16.18)

##### Bug Fixes

-   Actually publish TypeScript type definitions ([#&#8203;4008](https://github.com/KaTeX/KaTeX/issues/4008)) ([629b873](629b87354f))

### [`v0.16.17`](https://github.com/KaTeX/KaTeX/blob/HEAD/CHANGELOG.md#01617-2024-12-17)

[Compare Source](https://github.com/KaTeX/KaTeX/compare/v0.16.16...v0.16.17)

##### Bug Fixes

-   MathML combines multidigit numbers with sup/subscript, comma separators, and multicharacter text when outputting to DOM ([#&#8203;3999](https://github.com/KaTeX/KaTeX/issues/3999)) ([7d79e22](7d79e220f4)), closes [#&#8203;3995](https://github.com/KaTeX/KaTeX/issues/3995)

### [`v0.16.16`](https://github.com/KaTeX/KaTeX/blob/HEAD/CHANGELOG.md#01616-2024-12-17)

[Compare Source](https://github.com/KaTeX/KaTeX/compare/v0.16.15...v0.16.16)

##### Features

-   ESM exports, TypeScript types ([#&#8203;3992](https://github.com/KaTeX/KaTeX/issues/3992)) ([ea9c173](ea9c173a0d))

### [`v0.16.15`](https://github.com/KaTeX/KaTeX/blob/HEAD/CHANGELOG.md#01615-2024-12-09)

[Compare Source](https://github.com/KaTeX/KaTeX/compare/v0.16.14...v0.16.15)

##### Features

-   italic sans-serif in math mode via `\mathsfit` command ([#&#8203;3998](https://github.com/KaTeX/KaTeX/issues/3998)) ([2218901](22189018b6))

### [`v0.16.14`](https://github.com/KaTeX/KaTeX/blob/HEAD/CHANGELOG.md#01614-2024-12-08)

[Compare Source](https://github.com/KaTeX/KaTeX/compare/v0.16.13...v0.16.14)

##### Features

-   \dddot and \ddddot support ([#&#8203;3834](https://github.com/KaTeX/KaTeX/issues/3834)) ([bda35cd](bda35cdb0a)), closes [#&#8203;2744](https://github.com/KaTeX/KaTeX/issues/2744)

### [`v0.16.13`](https://github.com/KaTeX/KaTeX/blob/HEAD/CHANGELOG.md#01613-2024-12-08)

[Compare Source](https://github.com/KaTeX/KaTeX/compare/v0.16.12...v0.16.13)

##### Bug Fixes

-   `\vdots` and `\rule` support in text mode ([#&#8203;3997](https://github.com/KaTeX/KaTeX/issues/3997)) ([0e08352](0e08352623)), closes [#&#8203;3990](https://github.com/KaTeX/KaTeX/issues/3990)

### [`v0.16.12`](https://github.com/KaTeX/KaTeX/blob/HEAD/CHANGELOG.md#01612-2024-12-08)

[Compare Source](https://github.com/KaTeX/KaTeX/compare/v0.16.11...v0.16.12)

##### Features

-   **css:** configurable margin for display math ([#&#8203;3638](https://github.com/KaTeX/KaTeX/issues/3638)) ([3405001](3405001225))

### [`v0.16.11`](https://github.com/KaTeX/KaTeX/blob/HEAD/CHANGELOG.md#01611-2024-07-02)

[Compare Source](https://github.com/KaTeX/KaTeX/compare/v0.16.10...v0.16.11)

##### Features

-   add \emph ([#&#8203;3963](https://github.com/KaTeX/KaTeX/issues/3963)) ([9f34da4](9f34da4b3c)), closes [#&#8203;3566](https://github.com/KaTeX/KaTeX/issues/3566)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "" (UTC), Automerge - "* 0-3 * * *" (UTC).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMzYuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEzNi4wIiwidGFyZ2V0QnJhbmNoIjoidjcuMC9mb3JnZWpvIiwibGFiZWxzIjpbImRlcGVuZGVuY3ktdXBncmFkZSIsInRlc3Qvbm90LW5lZWRlZCJdfQ==-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6693
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2025-01-28 11:34:30 +00:00
Earl Warren
70334a6f29 [v7.0/forgejo] fix: load settings for valid user and email check (#6679)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6679
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2025-01-24 16:49:00 +00:00
Gusted
51e0b34fa8
[v7.0/forgejo] fix: load settings for valid user and email check
- The doctor commands to check the validity of existing usernames and
email addresses depend on functionality that have configurable behavior
depending on the values of the `[service]` settings, so load them when
running the doctor command.
- Resolves #6664
- No unit test due to the architecture of doctor commands.

(cherry picked from commit 46e60ce966)
2025-01-24 13:27:36 +01:00
Earl Warren
9cc7b6d19e [v7.0/forgejo] chore(security): update security.txt with new expiration date (#6669)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/6655

Same as https://forgejo.org/.well-known/security.txt

(cherry picked from commit 955f99b6a4)

```
Conflicts:
	public/.well-known/security.txt
  trivial context conflict
```

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6669
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-01-24 08:24:59 +00:00
Earl Warren
b5b8157485 Update module github.com/go-git/go-git/v5 to v5.13.1 (v7.0/forgejo) (#6483)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6483
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2025-01-09 08:30:34 +00:00
Earl Warren
b097ff48c4 Update module github.com/go-git/go-git/v5 to v5.13.1 (license) 2025-01-09 07:44:50 +00:00
Renovate Bot
df17946734 Update module github.com/go-git/go-git/v5 to v5.13.1 2025-01-09 07:44:50 +00:00
Michael Kriese
b6b79892c9 chore: remove illegal git usage (#6501)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6501
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2025-01-09 07:44:06 +00:00
Gusted
1c825edb1a
chore: remove illegal git usage
This is no longer possible in future go-git versions, so lets hardcode it

(cherry picked from commit 58ee57d5f2e547ba0786b2b5ebe87caa3ca545d5)
2025-01-09 07:13:41 +01:00
Earl Warren
9651e9d002 Merge pull request '[v7.0/forgejo] chore(release): link to the standalone release notes file' (#6325) from bp-v7.0/forgejo-0e02397 into v7.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6325
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-12-19 09:49:40 +00:00
Earl Warren
64142ee149 chore(release): link to the standalone release notes file
(cherry picked from commit 0e02397915)
2024-12-19 08:38:46 +00:00
Earl Warren
b07b7f7687 Merge pull request 'Update module golang.org/x/net to v0.33.0 (v7.0/forgejo)' (#6317) from renovate/v7.0/forgejo-golang.org-x-net-0.x into v7.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6317
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-12-19 07:01:59 +00:00
Earl Warren
be61fd0696
Update module golang.org/x/net to v0.33.0 (license) 2024-12-19 07:14:50 +01:00
Renovate Bot
dc13183803 Update module golang.org/x/net to v0.33.0 2024-12-18 23:16:05 +00:00
Earl Warren
4e0ab47c1c Merge pull request '[v7.0/forgejo] fix: ensure correct ssh public key is used for authentication' (#6252) from earl-warren/forgejo:wip-7.0-ssh into v7.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6252
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-12-12 07:03:49 +00:00
Gusted
f7cb37ca5a
fix: ensure correct ssh public key is used for authentication
- The root cause is described in b4f1988a35
- Move to a fork of `github.com/gliderlabs/ssh` that exposes the
permissions that was chosen by `x/crypto/ssh` after succesfully
authenticating, this is the recommended mitigation by the Golang
security team. The fork exposes this, since `gliderlabs/ssh` instead
relies on context values to do so, which is vulnerable to the same
attack, although partially mitigated by the fix in `x/crypto/ssh` it
would not be good practice and defense deep to rely on it.
- Existing tests covers that the functionality is preserved.
- No tests are added to ensure it fixes the described security, the
exploit relies on non-standard SSH behavior it would be too hard to
craft SSH packets to exploit this.

(cherry picked from commit 3e1b03838e)

Conflicts:
	go.mod
	go.sum
  trivial context conflict
2024-12-12 07:02:14 +01:00
Earl Warren
d77e27304f Merge pull request 'Update module golang.org/x/crypto to v0.31.0 (v7.0/forgejo)' (#6246) from renovate/v7.0/forgejo-golang.org-x-crypto-0.x into v7.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6246
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-12-12 05:06:14 +00:00
Earl Warren
157dd37035
Update module golang.org/x/crypto to v0.31.0 (licenses) 2024-12-12 05:50:19 +01:00
Renovate Bot
09162b8daf Update module golang.org/x/crypto to v0.31.0 2024-12-12 04:38:24 +00:00
Earl Warren
9191b4d192 Merge pull request '[v7.0/forgejo] chore(ci): set the milestone when a pull request is closed (take 4)' (#6230) from bp-v7.0/forgejo-6f53f7d into v7.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6230
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-12-10 07:07:29 +00:00
Earl Warren
a23de662eb chore(ci): set the milestone when a pull request is closed (take 4)
The milestone can only be determined to be final when a pull request
is merged.

It is possible that a pull request is opened during the development of
v10 and merged after it is published.

It is also possible that it is permanently closed without being merged.

(cherry picked from commit 6f53f7d007)
2024-12-10 06:21:21 +00:00