Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/.github/workflows/codeql.yml
diff options
context:
space:
mode:
authorLeitwolf112026-11-09 00:38:47 +0300
committerLeitwolf112026-11-09 00:38:47 +0300
commit66f3cc196a9b91d471a90e021b12630100181c4a (patch)
treea3cb0422c44094f1d00ddb312e9035afe1096c86 /.github/workflows/codeql.yml
parentd28c8c216708c3bb59773722e6235c4c8cbb2b73 (diff)
downloadprogmaweb-66f3cc196a9b91d471a90e021b12630100181c4a.tar.gz
Rate-limit sign-in by visitor behind Cloudflare and stop forwarding h2c
Cloudflare proxies the Progmasoft hosts, so Nginx saw a Cloudflare edge as its peer and appended that edge to X-Forwarded-For. The API takes the last hop as the client, so the account-auth limit (12 attempts in 3 minutes) was counted per edge: 38 failed sign-ins from one address in a row were all answered with 401, none with 429, and unrelated visitors behind one edge shared a bucket. - ops/nginx/cloudflare-real-ip.conf trusts CF-Connecting-IP only from the published Cloudflare ranges; a direct peer keeps its own address, so the header cannot be forged around Cloudflare. With it installed the 13th failed sign-in gets 429, a forged X-Forwarded-For changes nothing, and another address is not affected. - Every proxied location forwarded the client's Upgrade header with "Connection: upgrade" on each request. Only a WebSocket upgrade is now forwarded; other requests carry no Upgrade and an empty Connection. - c8 reached glob 13 (GHSA-3g3m-2fjr-6pw4) and minimatch 10 (GHSA-g3hv-75wg-m249) through test-exclude; both are overridden to the fixed majors. pnpm audit reports nothing, coverage, lint and check pass. - The CodeQL action pins carry their exact version comment (v4.38.2). - ops/README.md describes the address handling and no longer names a script that left the repository with AI Support. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to '.github/workflows/codeql.yml')
-rw-r--r--.github/workflows/codeql.yml4
1 files changed, 2 insertions, 2 deletions
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 1c6d4bd..6d11636 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -35,7 +35,7 @@ jobs:
if: matrix.language == 'csharp'
with:
dotnet-version: 10.0.x
- - uses: github/codeql-action/init@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4
+ - uses: github/codeql-action/init@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build_mode }}
@@ -46,7 +46,7 @@ jobs:
run: |
dotnet restore Progmaweb.slnx --locked-mode
dotnet build Progmaweb.slnx --configuration Release --no-restore
- - uses: github/codeql-action/analyze@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4
+ - uses: github/codeql-action/analyze@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
with:
category: /language:${{ matrix.language }}