Commit Graph

25994 Commits

Author SHA1 Message Date
Ilia Ross
60f980d832 Fix multi-select badge size and alignment
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-10-25 02:27:12 +01:00
Jamie Cameron
c73537864a Add warning about 2fa and pam conversation compatability 2026-10-24 16:29:56 -07:00
Jamie Cameron
3ac12e2ecd Halt uploads if the actual data sent exceeds the configured limit 2026-10-24 13:21:31 -07:00
Jamie Cameron
ba1219787c Merge pull request #2899 from webmin/dev/fix-cgi-status
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Fix CGI response status handling
2026-10-24 11:41:09 -07:00
Jamie Cameron
700af4ebbd Merge pull request #2900 from webmin/dev/fix-unlink-file-cache
Fix stale file cache after deletion
2026-10-24 10:41:13 -07:00
Jamie Cameron
37d6ef1e87 Merge pull request #2889 from webmin/dev/fix-postgresql-command-execution
Dev/fix postgresql command execution
2026-10-24 10:37:53 -07:00
Jamie Cameron
323b8376ee Fix typo 2026-10-24 10:17:22 -07:00
Jamie Cameron
960eed1cba Fix missing escapes 2026-10-24 10:16:58 -07:00
Jamie Cameron
b19026837b Fix merge conflicts 2026-10-24 10:12:43 -07:00
Ilia Ross
53a296f8ea Fix loader colors
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
2026-10-24 12:40:22 +02:00
Ilia Ross
bd33cf7486 Fix content spacing to match sidebar, and to look more slim 2026-10-24 12:28:46 +02:00
Ilia Ross
19aae985b7 Add support for multi-select tooltips to shared CSS 2026-10-24 12:21:38 +02:00
Jamie Cameron
eb8816843a Merge pull request #2897 from webmin/dev/fix-inherited-permission-controls
Fix inherited permission controls for grouped users
2026-10-23 21:39:35 -07:00
Ilia Ross
99a666c457 Fix help spacing in UI widget pages
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-10-24 05:00:58 +02:00
Ilia Ross
e7426986c4 Fix to use locale helpers 2026-10-23 23:46:34 +02:00
Ilia Ross
75800b27b9 Fix boolean literals in fast RPC parsing 2026-10-23 22:57:52 +02:00
Ilia Ross
4c772fa868 Fix stale file cache after deletion
This PR fixes cached settings remaining available after unlink_file successfully deletes a file.

It clears the file's cached contents and missing-file flag so later reads correctly handle deleted or recreated files.

Tests cover deletion, recreation, translated paths, partial failures, and read-only mode.
2026-10-23 20:58:14 +02:00
Ilia Ross
ea46275f4d Fix CGI response status handling
This PR fixes MiniServ ignoring CGI Status headers and returning the wrong HTTP status.

Both CGI execution modes now honor explicit statuses, preserve default redirects, and record the correct status in request logs.

The Status control header is no longer forwarded to clients.

Validation passed: 102 local tests and 68 live checks on Debian 13, covering both CGI modes.
2026-10-23 20:51:19 +02:00
Ilia Ross
e18e9a4213 Fix inherited permission controls for grouped users
This PR fixes global and RPC controls appearing for group members even though saving ignores their edits.

It detects group membership for existing users and clones, even when the editor cannot assign groups.

The check also works for database-backed accounts without relying on local ACL files.
2026-10-23 20:19:53 +02:00
Jamie Cameron
3e230b6afd Add more escaping where necessary 2026-10-22 22:15:43 -07:00
Ilia Ross
1cade5b59e Fix dropdown menu positioning
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-10-23 05:37:52 +02:00
Ilia Ross
16148ed27e Fix button height and box-sizing for dropdowns and update display property
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
2026-10-23 05:20:31 +02:00
Ilia Ross
1d2ed64a36 Fix button styling and update link underlining rules for dropdown items 2026-10-23 04:41:51 +02:00
Ilia Ross
8953ff12b4 Fix underlines on links, button icon alignment and add pause icon 2026-10-23 03:54:44 +02:00
Ilia Ross
17a393a589 Fix MySQL import fallback for loopback and tunneled servers 2026-10-23 01:30:47 +02:00
Ilia Ross
c12fb7d438 Fix MySQL data imports with private temporary directories
This patch fixes CSV imports on systems such as AlmaLinux where MariaDB's `PrivateTmp` setting hides Webmin's temporary files.

The earlier permissions fix could not solve this because the database service still could not see the file.

Imports now use a unique directory under `secure_file_priv`, or the database's data directory, while retaining restricted file permissions and automatic cleanup.

The directory uses the `#sql-` prefix so MariaDB does not treat it as a database during listings, backups, or checks.

Verified live on Debian 13, AlmaLinux 10, Ubuntu 26.04 MariaDB and MySQL 8.4, including database listings and full dumps taken while an import is in progress.
2026-10-23 00:47:32 +02:00
Ilia Ross
3ccad807df Fix SMTP plaintext fallback after STARTTLS failure
This patch fixes mail sending and SMTP monitoring silently continuing without encryption when STARTTLS is rejected.

That fallback could expose passwords and email contents despite encryption being selected.

Both paths now require a valid STARTTLS success response and stop on failure, while successful TLS and explicitly configured plaintext connections remain supported.
2026-10-22 22:51:22 +02:00
Ilia Ross
3441040461 Fix mailbox attachment XSS bypasses 2026-10-22 22:23:23 +02:00
Ilia Ross
85b91de232 Update changelog 2026-10-22 22:15:59 +02:00
Ilia Ross
0cc60f0f4b Fix unsafe commands in existing Webalizer schedules 2026-10-22 21:47:59 +02:00
Ilia Ross
baad8643ae Fix log path HTML injection in Webalizer 2026-10-22 21:32:31 +02:00
Ilia Ross
1c2cff183e Fix username XSS in Fetchmail pages 2026-10-22 21:22:52 +02:00
Ilia Ross
01d70fdc53 Update changelog 2026-10-22 21:09:38 +02:00
Ilia Ross
130987be89 Fix MySQL server-side import of temporary files
This patch fixes MySQL imports that fail because the database server cannot read the temporary file.

Since the temporary copy is created with mode 0600, a server-side `mysqlimport` fails for imports from a local file, and for uploads by users with a Unix user restriction.

Before running the import as root against a local server, the file is now given the group of the running server process with mode 0640, so the server can read it while other users still cannot. The process is found through the server's reported PID file and must be `mysqld` or `mariadbd`; otherwise the permissions are left unchanged.
2026-10-22 21:05:39 +02:00
Ilia Ross
f6544c2700 Fix editing MySQL views with special-character names 2026-10-22 19:43:39 +02:00
Ilia Ross
9bad05a55d Fix XSS across MySQL database pages 2026-10-22 19:31:58 +02:00
Ilia Ross
400c326a1b Fix XSS in printer test forms and job lists 2026-10-22 18:30:42 +02:00
Ilia Ross
ef47bda30c Fix XSS in service monitor error messages
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
2026-10-22 18:16:32 +02:00
Ilia Ross
4bf0c7d652 Fix mail queue attachment XSS (more) 2026-10-22 17:35:27 +02:00
Jamie Cameron
670ed84b14 Escape more inputs
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-10-21 21:35:49 -07:00
Jamie Cameron
4f72773842 Fix incorrect parameter name 2026-10-21 20:54:41 -07:00
Jamie Cameron
5d9bbd8401 Escape potentially untrusted HTTP responses 2026-10-21 20:48:19 -07:00
Jamie Cameron
d59f5326a1 Merge pull request #2886 from webmin/dev/fix-rpc-deserialization
Fix RPC deserialization
2026-10-21 20:35:07 -07:00
Ilia Ross
dbb360b127 Add Data::Dumper parser module 2026-10-22 01:45:44 +02:00
Ilia Ross
ad4d56f050 Fix optional subtitle handling in log views
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-10-20 23:19:08 +02:00
Jamie Cameron
1d8608d61b Fix a bunch of missing escapes
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-10-19 21:44:06 -07:00
Ilia Ross
f59a235d17 Fix stale bytes in input reads
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
This patch fixes leaving old bytes in the input buffer when a later read is shorter.

Those extra bytes can corrupt ordinary HTTP RPC requests. Fast RPC is unaffected (discovered in deep tests with Virtualmin WP Workbench).

The reader now matches Perl's native read behavior, with regression tests for buffered and socket reads, offsets, and zero-length reads.
2026-10-20 03:10:24 +02:00
Ilia Ross
e764166ad4 Fix misleading temporary directory placeholder #2787 2026-10-19 21:50:30 +02:00
Ilia Ross
dfce125874 Fix server login and logout cookie validation to be numeric
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
2026-10-19 15:58:59 +02:00
Ilia Ross
aa82e2ebd5 Fix escaping too when updating MySQL backup schedules
c76255be5f
2026-10-19 15:44:25 +02:00