{"id":"CVE-2021-41087","aliases":["EUVD-2021-2118","GHSA-vrxp-mg9f-hwf3","GO-2022-0936"],"status":"published","title":"Improperly Implemented path matching for in-toto-golang","description":"in-toto-golang is a go implementation of the in-toto framework to protect software supply chain integrity. In affected versions authenticated attackers posing as functionaries (i.e., within a trusted set of users for a layout) are able to create attestations that may bypass DISALLOW rules in the same layout. An attacker with access to trusted private keys, may issue an attestation that contains a disallowed artifact by including path traversal semantics (e.g., foo vs dir/../foo). Exploiting this vulnerability is dependent on the specific policy applied. The problem has been fixed in version 0.3.0.","severity":{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.0043,"percentile":0.37682,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22","CWE-345"],"published":"2021-09-21T21:05:15Z","modified":"2026-10-20T10:54:57Z","fixes":[{"ecosystem":"Go","package":"github.com/in-toto/in-toto-golang","fixed_in":["0.3.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/in-toto/in-toto-golang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.2.0"},{"fixed":"0.3.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/in-toto/in-toto-golang","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.3.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/in-toto/in-toto-golang","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.3.0"}]}]}],"products":[{"vendor":"in-toto","product":"in-toto-golang"}],"references":[{"url":"https://github.com/in-toto/in-toto-golang/security/advisories/GHSA-vrxp-mg9f-hwf3","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/in-toto/in-toto-golang/commit/f2c57d1e0f15e3ffbeac531829c696b72ecc4290","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-41087","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-vrxp-mg9f-hwf3"},{"url":"https://github.com/in-toto/in-toto-golang","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2021-41087","title":"Improperly Implemented path matching for in-toto-golang","description":"in-toto-golang is a go implementation of the in-toto framework to protect software supply chain integrity. In affected versions authenticated attackers posing as functionaries (i.e., within a trusted set of users for a layout) are able to create attestations that may bypass DISALLOW rules in the same layout. An attacker with access to trusted private keys, may issue an attestation that contains a disallowed artifact by including path traversal semantics (e.g., foo vs dir/../foo). Exploiting this vulnerability is dependent on the specific policy applied. The problem has been fixed in version 0.3.0.","status":"published","published":"2021-09-21T21:05:15Z","modified":"2024-08-04T02:59:31.359Z","cvss":[{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-345"],"updated_at":"2026-11-02T14:32:59.105382Z"}],"euvd":[{"id":"EUVD-2021-2118","description":"in-toto-golang is a go implementation of the in-toto framework to protect software supply chain integrity. In affected versions authenticated attackers posing as functionaries (i.e., within a trusted set of users for a layout) are able to create attestations that may bypass DISALLOW rules in the same layout. An attacker with access to trusted private keys, may issue an attestation that contains a disallowed artifact by including path traversal semantics (e.g., foo vs dir/../foo). Exploiting this vulnerability is dependent on the specific policy applied. The problem has been fixed in version 0.3.0.","status":"published","published":"2021-09-21T21:05:15Z","modified":"2024-08-04T02:59:31Z","cvss":[{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:N","level":"medium"}],"updated_at":"2026-11-03T03:24:19.242491Z"}],"ghsa":[{"id":"GHSA-vrxp-mg9f-hwf3","title":"Improperly Implemented path matching for in-toto-golang","description":"### Impact\nAuthenticated attackers posing as functionaries (i.e., within a trusted set of users for a layout) are able to create attestations that may bypass DISALLOW rules in the same layout. An attacker with access to trusted private keys, may issue an attestation that contains a disallowed artifact by including path traversal semantics (e.g., foo vs dir/../foo).\n\n### Patches\nThe problem has been fixed in version 0.3.0.\n\n### Workarounds\nExploiting this vulnerability is dependent on the specific policy applied.\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [in-toto-golang](http://github.com/in-toto/in-toto-golang)\n* Email us at [in-toto-public](mailto:in-toto-public@googlegroups.com)\n* If this is a sensitive security-relevant disclosure, please send a PGP encrypted email to santiagotorres@purdue.edu or jcappos@nyu.edu\n","status":"published","published":"2021-09-22T20:37:09Z","modified":"2023-02-01T05:06:07Z","cvss":[{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:N","level":"medium"}],"cwes":["CWE-22","CWE-345"],"updated_at":"2026-11-02T14:36:37.441118Z"}],"nvd":[{"id":"CVE-2021-41087","description":"in-toto-golang is a go implementation of the in-toto framework to protect software supply chain integrity. In affected versions authenticated attackers posing as functionaries (i.e., within a trusted set of users for a layout) are able to create attestations that may bypass DISALLOW rules in the same layout. An attacker with access to trusted private keys, may issue an attestation that contains a disallowed artifact by including path traversal semantics (e.g., foo vs dir/../foo). Exploiting this vulnerability is dependent on the specific policy applied. The problem has been fixed in version 0.3.0.","status":"published","published":"2021-09-21T21:15:07.203Z","modified":"2026-06-17T04:07:50.89Z","cvss":[{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":4,"vector":"AV:N/AC:L/Au:S/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-345","CWE-22"],"updated_at":"2026-11-02T14:06:58.933037Z"}],"osv":[{"id":"CVE-2021-41087","description":"in-toto-golang is a go implementation of the in-toto framework to protect software supply chain integrity. In affected versions authenticated attackers posing as functionaries (i.e., within a trusted set of users for a layout) are able to create attestations that may bypass DISALLOW rules in the same layout. An attacker with access to trusted private keys, may issue an attestation that contains a disallowed artifact by including path traversal semantics (e.g., foo vs dir/../foo). Exploiting this vulnerability is dependent on the specific policy applied. The problem has been fixed in version 0.3.0.","status":"published","published":"2021-09-21T21:15:07.203Z","modified":"2026-10-20T10:54:57.600185691Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:21.249056Z"},{"id":"GHSA-vrxp-mg9f-hwf3","title":"Improperly Implemented path matching for in-toto-golang","description":"### Impact\nAuthenticated attackers posing as functionaries (i.e., within a trusted set of users for a layout) are able to create attestations that may bypass DISALLOW rules in the same layout. An attacker with access to trusted private keys, may issue an attestation that contains a disallowed artifact by including path traversal semantics (e.g., foo vs dir/../foo).\n\n### Patches\nThe problem has been fixed in version 0.3.0.\n\n### Workarounds\nExploiting this vulnerability is dependent on the specific policy applied.\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [in-toto-golang](http://github.com/in-toto/in-toto-golang)\n* Email us at [in-toto-public](mailto:in-toto-public@googlegroups.com)\n* If this is a sensitive security-relevant disclosure, please send a PGP encrypted email to santiagotorres@purdue.edu or jcappos@nyu.edu\n","status":"published","published":"2021-09-22T20:37:09Z","modified":"2026-07-08T06:29:57.206788947Z","cvss":[{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:N","level":"medium"}],"cwes":["CWE-22","CWE-345"],"updated_at":"2026-11-02T15:46:57.694388Z"},{"id":"GO-2022-0936","title":"Improperly Implemented path matching for in-toto-golang in github.com/in-toto/in-toto-golang","description":"Improperly Implemented path matching for in-toto-golang in github.com/in-toto/in-toto-golang","status":"published","published":"2024-08-21T16:03:21Z","modified":"2026-03-03T04:51:04.349845Z","updated_at":"2026-11-02T15:47:00.918515Z"}]}}
