Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-fmj7-7gfw-64pg

Опубликовано: 15 окт. 2024
Источник: github
Github: Прошло ревью
CVSS4: 7.6
CVSS3: 0

Описание

Agent Dart is missing certificate verification checks

Certificate verification (in lib/agent/certificate.dart) has been found to contain two issues:

  • During the delegation verification (in _checkDelegation function) the canister_ranges aren't verified. The impact of not checking the canister_ranges is that a subnet can sign canister responses in behalf of another subnet. You have more details in the IC specification here. Also for reference you can check how is this implemented in the agent-rs. - The certificate’s timestamp, i.e /time path, is not verified, meaning that the certificate effectively has no expiration time. The IC spec doesn’t specify an expiry times, it gives some suggestions, quoting: "A reasonable expiry time for timestamps in R.signatures and the certificate Cert is 5 minutes (analogously to the maximum allowed ingress expiry enforced by the IC mainnet). Delegations require expiry times of at least a week since the IC mainnet refreshes the delegations only after replica upgrades which typically happen once a week". For reference you can check how is this implemented in the agent-rs (here and here).

Additionally, seems replica signed queries aren’t implemented

Пакеты

Наименование

agent_dart

Затронутые версииВерсия исправления

<= 1.0.0-dev.28

1.0.0-dev.29

EPSS

Процентиль: 21%
0.00066
Низкий

7.6 High

CVSS4

0 Low

CVSS3

Дефекты

CWE-295
CWE-347

Связанные уязвимости

nvd
больше 1 года назад

Agent Dart is an agent library built for Internet Computer for Dart and Flutter apps. Prior to version 1.0.0-dev.29, certificate verification in `lib/agent/certificate.dart` does not occur properly. During the delegation verification in the `_checkDelegation` function, the canister_ranges aren't verified. The impact of not checking the canister_ranges is that a subnet can sign canister responses in behalf of another subnet. The certificate’s timestamp, i.e /time path, is also not verified, meaning that the certificate effectively has no expiration time. Version 1.0.0-dev.29 implements appropriate certificate verification.

EPSS

Процентиль: 21%
0.00066
Низкий

7.6 High

CVSS4

0 Low

CVSS3

Дефекты

CWE-295
CWE-347