Commit graph

155700 commits

Author SHA1 Message Date
Laurent Destailleur
4cf305ebb9 Fix prevent edit by external users - reported by VulnCheck 2026-08-16 06:31:33 +02:00
Laurent Destailleur
08527d0e76 Trans 2026-08-15 19:18:41 +02:00
Laurent Destailleur
80c909618e Sync transifex 2026-08-15 19:10:22 +02:00
Laurent Destailleur
275519a544 Transifex sync 2026-08-15 17:58:50 +02:00
Laurent Destailleur
a9254763f3 Add dolSort to offer a secured solution to use sort in dynamic fields 2026-08-15 17:54:12 +02:00
Laurent Destailleur
41dfccfc14 Complete #39546 and #39547 2026-08-15 16:53:30 +02:00
Laurent Destailleur
cffdd75591 Merge branch '24.0' of git@github.com:Dolibarr/dolibarr.git into 24.0 2026-08-15 16:39:31 +02:00
Laurent Destailleur
e6e55562da Doc 2026-08-15 16:39:19 +02:00
Aymeric Cucherousset
954685b729
Fix #39436 Block callable-dispatch bypass of PHP eval-guard blacklists (#39547)
* Fix #39436 Block callable-dispatch bypass of PHP eval-guard blacklists

dol_eval_new() and checkPHPCode() blacklisted dangerous sink functions
(exec, system, eval...) by name but missed PHP callable-dispatch
functions (array_map, usort, preg_replace_callback, etc). Since these
call a function by name-as-data, a payload like
array_map('sys'.'tem', ['id']) reached system() unblocked, bypassing
WEBSITE_PHP_ALLOW_EXEC=off and the opt-in dol_eval_new engine.

Port the callable-dispatch function list already used by the default
dol_eval_standard() whitelist engine (unaffected) into both guards.

* Revert checkPHPCode() change, move it to a PR targeting develop

As pointed out by @eldy on the PR review: adding the callable-dispatch
function blacklist to checkPHPCode() can break existing legitimate
website custom-PHP snippets that use array_map/usort/etc, since that
feature is admin-only but still user-authored content. That kind of
behavior change belongs on develop, not on a stable maintenance branch.

The dol_eval_new() fix stays here: it's an opt-in engine, off by
default (MAIN_USE_DOL_EVAL_NEW), so the added restrictions carry no
practical regression risk for existing installs.

* Update functions.lib.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-08-15 16:39:00 +02:00
Laurent Destailleur
87c68f29b7 Try to align dol_eval_new with dol_eval_standard (##39546, ##39547) 2026-08-15 16:34:12 +02:00
Laurent Destailleur
a8cfb55960 Fix option blocked by waf 2026-08-15 15:55:22 +02:00
Laurent Destailleur
6859adbbbb Merge branch '24.0' of git@github.com:Dolibarr/dolibarr.git into 24.0 2026-08-15 15:50:43 +02:00
Laurent Destailleur
8a0297de4b Clean code and doc to have whitelist use easier to understand. 2026-08-15 15:50:16 +02:00
Günter Lukas
0fed3b6d12
FIX Agenda "per user" view does not fire printFieldListFrom hook (#39507)
comm/action/index.php (agenda month/week/day view) fires the
printFieldListFrom hook right before the WHERE clause of the event query,
letting external modules add extra JOIN conditions to the agenda SQL
query. comm/action/peruser.php (agenda "per user" view) builds a
structurally identical query but never calls this hook - it only fires
printFieldListSelect, whose output lands before FROM and can't be used to
add a WHERE-equivalent join condition. printFieldListWhere isn't fired in
either file, so printFieldListFrom is the only hook point available
before WHERE.

This adds the same hook call already present in index.php, at the same
relative position (after the FROM/JOIN clauses, right before WHERE), so
modules can extend the agenda query the same way in both views.

Fixes #39506

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-08-15 02:29:45 +02:00
Noé Cendrier
030c1ea85b FIX: CommonObject::updateExtraField() method should call the corresponding object update trigger (#39526) 2026-08-15 02:06:08 +02:00
MDW
e7273973e7
Fix(ci): security access check (#39530) 2026-08-15 01:58:01 +02:00
Laurent Destailleur
54c4982c6c Merge branch '24.0' of git@github.com:Dolibarr/dolibarr.git into 24.0 2026-08-15 01:32:06 +02:00
Laurent Destailleur
68abf1fb93 Lang 2026-08-15 01:31:22 +02:00
Laurent Destailleur
dc96d8d720 Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into 24.0 2026-08-14 20:32:03 +02:00
Frédéric FRANCE
592128018b
Update ci-checkfilesetlock.yml (#39525) 2026-08-14 20:31:46 +02:00
Laurent Destailleur
cc8cca3a04 Fix check for external user when using a child object like order lines -
reported by Pavel Kohout
2026-08-14 20:29:05 +02:00
Laurent Destailleur
2d765488ac Clean url 2026-08-14 20:08:48 +02:00
Laurent Destailleur
fbf476cc5d Restrict some field in api create/update of member for secure purpose -
reported by vulncheck
2026-08-14 20:01:30 +02:00
Laurent Destailleur
52d83c89d6 Disqualified some fields from api 2026-08-14 19:47:17 +02:00
Laurent Destailleur
9e385dc0ab Exclude some keys in api put and post 2026-08-14 19:45:47 +02:00
Laurent Destailleur
4da2578588 Fix AISLE-2026-0340-0087 IDOR in user bank account edit flow - reported
by Pavel Kohout
2026-08-14 18:10:58 +02:00
Laurent Destailleur
1730aa5667 Fix AISLE-2026-0340-0086 Authorization bypass in clonetasks: private
destination project check is inverted - reported by Pavel Kohout
2026-08-14 16:25:46 +02:00
Laurent Destailleur
340a08734b Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into 24.0 2026-08-14 15:54:52 +02:00
Laurent Destailleur
53a7f8eff4 Merge branch '22.0' of git@github.com:Dolibarr/dolibarr.git into 23.0 2026-08-14 15:52:54 +02:00
Laurent Destailleur
f506d5459a Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into 22.0 2026-08-14 15:52:11 +02:00
MDW
f092c9b7f6
Qual(ci): Fix phan notices (typing) (#39510) 2026-08-14 15:49:33 +02:00
MDW
a053ecf7d3
Qual(ci): Fix phan notices (typing) (#39509) 2026-08-14 15:48:28 +02:00
Laurent Destailleur
cf4c308022 Fix escape js string - reported by Vulncheck 2026-08-14 15:43:43 +02:00
Laurent Destailleur
3094b0aa3b Fix escape js string - reported by Vulncheck 2026-08-14 15:43:28 +02:00
Laurent Destailleur
ab4b522d69 Fi regression, restore type string 2026-08-14 15:40:51 +02:00
MDW
9e215be47c
Qual(ci): Fix phan notices (typing) (#39511)
* Qual(ci): Fix phan notices (typing)

* Qual: Fix deposit_percent type (escaping)

# Qual: Fix deposit_percent type (escaping)

deposit_percent is a float but was escaped to string resulting in argument mismatch.
Fixed by casting to float.
2026-08-14 15:35:17 +02:00
Laurent Destailleur
ddcbbf7717 Hide duplicate section that is already visible in banner 2026-08-14 14:30:50 +02:00
Laurent Destailleur
5706222c3d Fix MAIN_INFO_SOCIETE_VAT_EXEMPTION_CODE not saved 2026-08-14 02:34:28 +02:00
Laurent Destailleur
ec33d4fab0 Debug v24 2026-08-13 20:14:53 +02:00
Laurent Destailleur
6b3b1e0589 Doc 2026-08-13 20:13:30 +02:00
Laurent Destailleur
a111a3adc7 Doc 2026-08-13 19:58:44 +02:00
Laurent Destailleur
8ab7bc1a1d Version 2026-08-13 19:25:07 +02:00
Laurent Destailleur
368f3d74b7 Debug v24 2026-08-13 19:21:32 +02:00
Laurent Destailleur
2469bb54ae Merge branch '24.0' of git@github.com:Dolibarr/dolibarr.git into 24.0 2026-08-13 17:48:25 +02:00
Laurent Destailleur
48958ae565 Automated merge from 22.0 to 23.0 by tool pullmerge.sh 2026-08-13 17:38:17 +02:00
Laurent Destailleur
863138ef9f Merge branch '24.0' of git@github.com:Dolibarr/dolibarr.git into 24.0 2026-08-13 17:25:52 +02:00
Laurent Destailleur
d119dd688e Automated merge from 21.0 to 22.0 by tool pullmerge.sh 2026-08-13 17:18:40 +02:00
Laurent Destailleur
72a97f32ff Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into 24.0 2026-08-13 17:16:49 +02:00
Laurent Destailleur
5316cb7632 Fix subtotal when detail of line disabled
(SUBTOTAL_HIDE_LINES_UNDER_TITLE)
2026-08-13 17:04:11 +02:00
Laurent Destailleur
8133095ae1 Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2026-08-13 15:53:04 +02:00