Vulnerabilities

5 via 22 paths

Dependencies

397

Source

GitHub

Find, fix and prevent vulnerabilities in your code.

Severity
  • 2
  • 3
Status
  • 5
  • 0
  • 0

high severity
new

Memory Allocation with Excessive Size Value

  • Vulnerable module: fflate
  • Introduced through: @grafana/data@13.3.1, @grafana/ui@13.3.1 and others

Detailed paths

  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/data@13.3.1 › ol@10.11.0 › zarrita@0.7.5 › numcodecs@0.3.2 › fflate@0.8.3
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/ui@13.3.1 › ol@10.11.0 › zarrita@0.7.5 › numcodecs@0.3.2 › fflate@0.8.3
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/ui@13.3.1 › @grafana/data@13.3.1 › ol@10.11.0 › zarrita@0.7.5 › numcodecs@0.3.2 › fflate@0.8.3
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/runtime@13.3.1 › @grafana/data@13.3.1 › ol@10.11.0 › zarrita@0.7.5 › numcodecs@0.3.2 › fflate@0.8.3
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/runtime@13.3.1 › @grafana/ui@13.3.1 › ol@10.11.0 › zarrita@0.7.5 › numcodecs@0.3.2 › fflate@0.8.3
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/runtime@13.3.1 › @grafana/ui@13.3.1 › @grafana/data@13.3.1 › ol@10.11.0 › zarrita@0.7.5 › numcodecs@0.3.2 › fflate@0.8.3

Overview

fflate is a High performance (de)compression in an 8kB package

Affected versions of this package are vulnerable to Memory Allocation with Excessive Size Value via the unzipSync function in src/index.ts. An attacker can supply a crafted ZIP archive whose entry declares an extremely large uncompressed size, causing unzipSync to allocate an enormous output buffer and exhaust the application’s memory. The supported impact is memory exhaustion, which can make the application fail during extraction.

Remediation

There is no fixed version for fflate.

References

high severity

Open Redirect

  • Vulnerable module: react-router
  • Introduced through: @grafana/ui@13.3.1 and @grafana/runtime@13.3.1

Detailed paths

  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/ui@13.3.1 › react-router-dom-v5-compat@6.30.6 › react-router@6.30.6
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/runtime@13.3.1 › @grafana/ui@13.3.1 › react-router-dom-v5-compat@6.30.6 › react-router@6.30.6

Overview

Affected versions of this package are vulnerable to Open Redirect via the navigation mechanisms when attacker-supplied paths containing a backslash are processed. An attacker can redirect users to unintended external sites by crafting malicious links or inputs.

Remediation

Upgrade react-router to version 7.18.0 or higher.

References

medium severity
new

Asymmetric Resource Consumption (Amplification)

  • Vulnerable module: minimatch
  • Introduced through: @grafana/data@13.3.1, @grafana/ui@13.3.1 and others

Detailed paths

  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/data@13.3.1 › @grafana/i18n@13.3.1 › @typescript-eslint/utils@8.72.2 › @typescript-eslint/typescript-estree@8.72.2 › minimatch@10.2.6
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/ui@13.3.1 › @grafana/i18n@13.3.1 › @typescript-eslint/utils@8.72.2 › @typescript-eslint/typescript-estree@8.72.2 › minimatch@10.2.6
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/ui@13.3.1 › @grafana/data@13.3.1 › @grafana/i18n@13.3.1 › @typescript-eslint/utils@8.72.2 › @typescript-eslint/typescript-estree@8.72.2 › minimatch@10.2.6
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/runtime@13.3.1 › @grafana/data@13.3.1 › @grafana/i18n@13.3.1 › @typescript-eslint/utils@8.72.2 › @typescript-eslint/typescript-estree@8.72.2 › minimatch@10.2.6
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/runtime@13.3.1 › @grafana/ui@13.3.1 › @grafana/i18n@13.3.1 › @typescript-eslint/utils@8.72.2 › @typescript-eslint/typescript-estree@8.72.2 › minimatch@10.2.6
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/runtime@13.3.1 › @grafana/ui@13.3.1 › @grafana/data@13.3.1 › @grafana/i18n@13.3.1 › @typescript-eslint/utils@8.72.2 › @typescript-eslint/typescript-estree@8.72.2 › minimatch@10.2.6

Overview

minimatch is a minimal matching utility.

Affected versions of this package are vulnerable to Asymmetric Resource Consumption (Amplification) in the firstPhasePreProcess method, where the **/.. transform clones a globParts entry and pushes the clone back onto the same array inside a do...while (didSomething) fixpoint loop. An attacker can exhaust CPU and memory by supplying a glob pattern whose **/.. sequences regenerate entries during preprocessing, which secondPhasePreProcess then compares in an O(n^2) pairwise partsMatch pass over the expanded set. Exploitation requires the pattern to be parsed with optimizationLevel set to 2 or higher.

Remediation

Upgrade minimatch to version 11.0.1 or higher.

References

medium severity
new

Modification of Assumed-Immutable Data (MAID)

  • Vulnerable module: i18next
  • Introduced through: @grafana/data@13.3.1, @grafana/ui@13.3.1 and others

Detailed paths

  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/data@13.3.1 › @grafana/i18n@13.3.1 › i18next-pseudo@2.2.1 › i18next@19.9.2
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/ui@13.3.1 › @grafana/i18n@13.3.1 › i18next-pseudo@2.2.1 › i18next@19.9.2
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/ui@13.3.1 › @grafana/data@13.3.1 › @grafana/i18n@13.3.1 › i18next-pseudo@2.2.1 › i18next@19.9.2
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/runtime@13.3.1 › @grafana/data@13.3.1 › @grafana/i18n@13.3.1 › i18next-pseudo@2.2.1 › i18next@19.9.2
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/runtime@13.3.1 › @grafana/ui@13.3.1 › @grafana/i18n@13.3.1 › i18next-pseudo@2.2.1 › i18next@19.9.2
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/runtime@13.3.1 › @grafana/ui@13.3.1 › @grafana/data@13.3.1 › @grafana/i18n@13.3.1 › i18next-pseudo@2.2.1 › i18next@19.9.2

Overview

i18next is an internationalization framework for browser or any other javascript environment (eg. node.js).

Affected versions of this package are vulnerable to Modification of Assumed-Immutable Data (MAID) via the deepExtend function in src/utils.js, which uses the in operator to check for property existence on the target object. Because the in operator traverses the prototype chain, an attacker who can supply a malicious resource bundle containing a property named hasOwnProperty can overwrite Object.prototype.hasOwnProperty, causing process-wide corruption of that built-in and crashing any subsequent code that relies on it.

Note: This is only exploitable when deepExtend is invoked with deep merging enabled, such as through addResourceBundle with the deep parameter set to true.

PoC

import i18next from 'i18next';

await i18next.init({ lng: 'en', resources: { en: { translation: {} } } });

const payload = { hasOwnProperty: { call: 'corrupted' } };
i18next.addResourceBundle('en', 'translation', payload, /* deep */ true, /* overwrite */ true);

// Process-wide corruption:
Object.prototype.hasOwnProperty.call({}, 'test'); // TypeError: ... is not a function

Note: The PoC uses i18next initialised with a default English translation resource and demonstrates process-wide corruption by overwriting Object.prototype.hasOwnProperty via addResourceBundle with deep and overwrite flags set to true.

Remediation

Upgrade i18next to version 26.3.4 or higher.

References

medium severity

Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')

  • Vulnerable module: react-router
  • Introduced through: @grafana/ui@13.3.1 and @grafana/runtime@13.3.1

Detailed paths

  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/ui@13.3.1 › react-router-dom-v5-compat@6.30.6 › react-router@6.30.6
  • Introduced through: grafana-polystat-panel@grafana/grafana-polystat-panel › @grafana/runtime@13.3.1 › @grafana/ui@13.3.1 › react-router-dom-v5-compat@6.30.6 › react-router@6.30.6

Overview

Affected versions of this package are vulnerable to Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') in the deserializeErrors function during SSR hydration. An attacker can cause unexpected constructor execution on the client, potentially resulting in outbound network traffic, by supplying crafted input that overwrites certain aspects of errors caught by the SSR process.

Note: This is only exploitable if the application is running in Framework Mode or Data Mode and performs manual SSR/hydration with code that allows attacker-controlled input to influence error deserialization.

Remediation

Upgrade react-router to version 7.18.0 or higher.

References