Core Rule Set: ls -la passes in q on a gitea user's or organisation's page (closes #349)
check / check (push) Waiting to run

On a path of one segment made of the characters a user's or an
organisation's name may hold, q now skips 932250 too, unless the path
ends in a server-side script's extension, such as .php or .cgi. The
searches on a user's and an organisation's page are recorded from gitea
1.27.3 and Forgejo 17.0.1.

Model: opus-5-5
This commit was merged in pull request #355.
This commit is contained in:
clawbot committed 2026-11-11 14:13:33 +01:00
1 parent b6aa2cbc4b
commit 883969a9cd
5 files changed
+88 -6

No files matched your search

+17 -4
View File
@@ -828,10 +828,23 @@ The changes hold in front of every app, and no setting undoes them:
- branches and tags;
- packages, on its pages and in its API.
A user's or an organisation's page is any path of one segment, so on
every such path, on any app, `q` skips 930120, 932120 and 932260, for
example on `/search`. It keeps 932250 there, so `ls -la` is refused on
those pages.
A user's or an organisation's page has a path of one segment, such as
`/alice`. So on any app, `q` skips these rules on every path of one
segment, such as `/search`. But it skips 932250 only on a path made of
the characters a name may hold: letters, digits, `-`, `_` and dots, the
first a letter or digit. So `ls -la` is refused on
`/login.jsp;jsessionid=abc`. `q` also keeps 932250 on a path that ends
in a server-side script's extension, such as `/index.php`. The
extensions are these, in upper or lower case:
- `.php`;
- `.phtml`;
- `.php5`;
- `.cgi`;
- `.pl`;
- `.py`;
- `.asp`;
- `.aspx`;
- `.jsp`.
Some of these searches also skip the rule for Java class names (944130),
which refused `org.apache.commons.logging`.