Compare commits

...

4 Commits

Author SHA1 Message Date
grafana-delivery-bot[bot]
c272dc498f Release: update changelog for 11.4.3+security-01 (#104337)
* Update changelog

* baldm0mma/ update cves in changelog

* baldm0mma/ fix cve number

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
(cherry picked from commit 0d0981ac57)
2025-04-22 16:04:35 -05:00
nmarrs
18c0fcecf2 apply backport 2025-04-07 09:26:00 -05:00
Yuri Tseretyan
a7485830e1 require editor to fetch config 2025-04-07 09:26:00 -05:00
Andres Martinez Gotor
dbfbf82e38 Sanitize paths before evaluating access to route 2025-04-07 09:26:00 -05:00
5 changed files with 39 additions and 3 deletions

View File

@@ -1,3 +1,22 @@
<!-- 11.4.3+security-01 START -->
# 11.4.3+security-01 (2025-04-22)
### Features and enhancements
- **Chore:** Bump Go to 1.23.7 [#101582](https://github.com/grafana/grafana/pull/101582), [@macabu](https://github.com/macabu)
- **Chore:** Bump Go to 1.23.7 (Enterprise)
- **Chore:** Update CVE-affected golang-gwt dependencies [#102704](https://github.com/grafana/grafana/pull/102704), [@grambbledook](https://github.com/grambbledook)
### Bug fixes
- **Alerting:** Fix token-based Slack image upload to work with channel names [#101072](https://github.com/grafana/grafana/pull/101072), [@JacobsonMT](https://github.com/JacobsonMT)
- **InfluxDB:** Improve handling of template variables contained in regular expressions (InfluxQL) [#100987](https://github.com/grafana/grafana/pull/100987), [@aangelisc](https://github.com/aangelisc)
- **Service Accounts:** Do not show error pop-ups for Service Account and Renderer UI flows [#101790](https://github.com/grafana/grafana/pull/101790), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Security:** Fix CVE-2025-3454
- **Security:** Fix CVE-2025-2703
<!-- 11.4.3+security-01 END -->
<!-- 11.4.2 START -->
# 11.4.2 (2025-02-18)

View File

@@ -299,7 +299,15 @@ func (proxy *DataSourceProxy) validateRequest() error {
}
// route match
if !strings.HasPrefix(proxy.proxyPath, route.Path) {
r1, err := util.CleanRelativePath(proxy.proxyPath)
if err != nil {
return err
}
r2, err := util.CleanRelativePath(route.Path)
if err != nil {
return err
}
if !strings.HasPrefix(r1, r2) {
continue
}

View File

@@ -258,6 +258,14 @@ func TestDataSourceProxy_routeRule(t *testing.T) {
err = proxy.validateRequest()
require.NoError(t, err)
})
t.Run("path with slashes and user is editor", func(t *testing.T) {
ctx, _ := setUp()
proxy, err := setupDSProxyTest(t, ctx, ds, routes, "//api//admin")
require.NoError(t, err)
err = proxy.validateRequest()
require.Error(t, err)
})
})
t.Run("plugin route with RBAC protection user is allowed", func(t *testing.T) {

View File

@@ -39,7 +39,7 @@
{
"method": "GET",
"path": "api/v1/alerts",
"reqRole": "Admin"
"reqRole": "Editor"
}
],
"info": {

View File

@@ -641,7 +641,8 @@ function fieldValueColors(f: Field, theme: GrafanaTheme2): FieldColorValues {
let lasti = steps.length - 1;
for (let i = lasti; i > 0; i--) {
conds += `v >= ${steps[i].value} ? ${i} : `;
let rhs = Number(steps[i].value);
conds += `v >= ${rhs} ? ${i} : `;
}
conds += '0';