{"id":"GHSA-wjxp-xrpv-xpff","revision":null,"records":[{"revision":"d0816fcdc53a40898a438deaab93b505","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-40161","aliases":[],"title":"Tekton Pipelines: Git resolver API mode leaks system-configured API token to user-controlled serverURL","description":"Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines. Starting in version 1.0.0 and prior to versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1, the Tekton Pipelines git resolver in API mode sends the system-configured Git API token to a user-controlled serverURL when the user omits the token parameter. A tenant with TaskRun or PipelineRun create permission can exfiltrate the shared API token (GitHub PAT, GitLab token, etc.) by pointing serverURL to an attacker-controlled endpoint. Versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1 fix the issue.","state":0,"publishedAt":"2026-04-21T16:26:27.381+00:00","modifiedAt":"2026-05-21T21:20:13.227+00:00","affected":[{"ecosystem":"Vendor product","name":"pipeline","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"tektoncd\",\n                    \"product\": \"pipeline\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 1.0.0, < 1.0.2\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \">= 1.2.0, < 1.3.4\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \">= 1.4.0, < 1.6.2\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \">= 1.7.0, < 1.9.3\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \">= 1.10.0, < 1.11.1\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","score":7.7,"severity":"HIGH"}],"references":["https://github.com/tektoncd/pipeline/security/advisories/GHSA-wjxp-xrpv-xpff","https://github.com/tektoncd/pipeline/issues/9608","https://github.com/tektoncd/pipeline/issues/9609"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-40161","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-40161","identifiers":["CVE-2026-40161"]},"retained":false,"historicalAffected":[]},{"revision":"207811b7a6cb40c0b83d68d833fb8063","observedAt":"2026-10-28T05:00:59.341+00:00","statement":{"source":"euvd","id":"EUVD-2026-24165","aliases":["CVE-2026-40161","GHSA-wjxp-xrpv-xpff"],"title":"Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines. Starting in version 1.0.0 and prior to versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1, the Tekton Pipelines git resolver in API mode sends the syste…","description":"Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines. Starting in version 1.0.0 and prior to versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1, the Tekton Pipelines git resolver in API mode sends the system-configured Git API token to a user-controlled serverURL when the user omits the token parameter. A tenant with TaskRun or PipelineRun create permission can exfiltrate the shared API token (GitHub PAT, GitLab token, etc.) by pointing serverURL to an attacker-controlled endpoint. Versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1 fix the issue.","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","score":7.7,"severity":null}],"references":["https://github.com/tektoncd/pipeline/security/advisories/GHSA-wjxp-xrpv-xpff","https://github.com/tektoncd/pipeline/issues/9608","https://github.com/tektoncd/pipeline/issues/9609"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-24165","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"Apr 21, 2026, 4:26:27 PM","dateUpdated":"May 21, 2026, 9:20:13 PM"},"relatedAdvisories":[{"id":"RHSA-2026:24484","title":"Red Hat Security Advisory: Red Hat OpenShift Pipelines Release 1.21.2","vulnerabilityIds":["CVE-2026-33186","CVE-2026-33211","CVE-2026-34986","CVE-2026-40161","CVE-2026-40938"]},{"id":"RHSA-2026:24359","title":"Red Hat Security Advisory: Red Hat OpenShift Builds 1.7.3","vulnerabilityIds":["CVE-2026-32280","CVE-2026-40161","CVE-2026-40938"]},{"id":"RHSA-2026:89131","title":"Red Hat Security Advisory: Red Hat OpenShift Builds 1.9.2","vulnerabilityIds":["CVE-2026-33818","CVE-2026-39821","CVE-2026-40161","CVE-2026-40938","CVE-2026-46600","CVE-2026-56851","CVE-2026-56853","CVE-2026-56858","CVE-2026-56859","CVE-2026-56860","CVE-2026-56862","CVE-2026-78667","CVE-2026-78669","CVE-2026-84304","CVE-2026-84445","CVE-2026-97031","CVE-2026-111943","CVE-2026-114406"]},{"id":"RHSA-2026:89041","title":"Red Hat Security Advisory: Red Hat OpenShift Builds 1.9.2","vulnerabilityIds":["CVE-2026-33818","CVE-2026-39821","CVE-2026-40161","CVE-2026-40938","CVE-2026-46600","CVE-2026-56851","CVE-2026-56853","CVE-2026-56858","CVE-2026-56859","CVE-2026-56860","CVE-2026-56862","CVE-2026-78667","CVE-2026-78669","CVE-2026-84304","CVE-2026-84445","CVE-2026-97031","CVE-2026-111943"]}],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2026-24165","identifiers":["EUVD-2026-24165","CVE-2026-40161","GHSA-wjxp-xrpv-xpff"]},"retained":false,"historicalAffected":[]},{"revision":"6fd9d433c96247e093cbefed39bec340","observedAt":"2026-10-27T10:09:56.341+00:00","statement":{"source":"nvd","id":"CVE-2026-40161","aliases":[],"title":"Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines. Starting in version 1.0.0 and prior to versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1, the Tekton Pipelines git resolver in API mode sends the syste…","description":"Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines. Starting in version 1.0.0 and prior to versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1, the Tekton Pipelines git resolver in API mode sends the system-configured Git API token to a user-controlled serverURL when the user omits the token parameter. A tenant with TaskRun or PipelineRun create permission can exfiltrate the shared API token (GitHub PAT, GitLab token, etc.) by pointing serverURL to an attacker-controlled endpoint. Versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1 fix the issue.","state":0,"publishedAt":"2026-04-21T17:16:53.79+00:00","modifiedAt":"2026-10-26T21:10:00.17+00:00","affected":[],"metrics":[{"system":"CVSS 3.1 · security-advisories@github.com · Secondary","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","score":7.7,"severity":"HIGH"},{"system":"CVSS 3.1 · nvd@nist.gov · Primary","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","score":6.5,"severity":"MEDIUM"}],"references":["https://github.com/tektoncd/pipeline/issues/9608","https://github.com/tektoncd/pipeline/issues/9609","https://github.com/tektoncd/pipeline/security/advisories/GHSA-wjxp-xrpv-xpff"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-40161","license":"NIST NVD usage terms; underlying source attribution retained","enrichment":{"sourceStatus":"Modified","weaknesses":["CWE-201","NVD-CWE-noinfo"],"productCriteria":["cpe:2.3:a:linuxfoundation:tekton_pipelines:*:*:*:*:*:go:*:*"],"sourceDates":{"published":"2026-04-21T17:16:53.790","lastModified":"2026-10-26T21:10:00.170"},"relatedAdvisories":[],"note":"NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON."},"key":"nvd:CVE-2026-40161","identifiers":["CVE-2026-40161"]},"retained":false,"historicalAffected":[]},{"revision":"251078e6ec5d42a6955f0e1eefb57d21","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GHSA-wjxp-xrpv-xpff","aliases":["CVE-2026-40161","GO-2026-5711"],"title":"Tekton Pipelines: Git resolver API mode leaks system-configured API token to user-controlled serverURL","description":"### Summary\n\nThe Tekton Pipelines git resolver in API mode sends the system-configured Git API token to a user-controlled `serverURL` when the user omits the `token` parameter. A tenant with TaskRun or PipelineRun create permission can exfiltrate the shared API token (GitHub PAT, GitLab token, etc.) by pointing `serverURL` to an attacker-controlled endpoint.\n\n### Details\n\nThe git resolver's `ResolveAPIGit()` function in `pkg/resolution/resolver/git/resolver.go` constructs an SCM client using the user-supplied `serverURL` and a token obtained via `getAPIToken()`.\n\nWhen the user provides `serverURL` but omits the `token` parameter:\n\n1. `getSCMTypeAndServerURL()` reads `serverURL` directly from user params (`params[ServerURLParam]`) with no validation against the system-configured URL.\n\n2. `secretRef` is set to `nil` because the user did not provide a token parameter.\n\n3. `getAPIToken(ctx, nil, APISecretNameKey)` is called. It detects `apiSecret == nil`, creates a new `secretCacheKey`, and populates it from the system-configured secret (`conf.APISecretName` / `conf.APISecretNamespace` / `SYSTEM_NAMESPACE`).\n\n4. `clientFunc(scmType, serverURL, string(apiToken))` creates an SCM client pointed at the attacker-controlled URL with the system token. The SCM factory sets the token as an `Authorization` header on the HTTP client.\n\n5. All subsequent API calls (`Contents.Find`, `Git.FindCommit`) carry the system token to the attacker URL.\n\n### Impact\n\nThe system Git API token (GitHub PAT, GitLab token, etc.) is exfiltrated to an attacker-controlled endpoint. This token typically has read access to private repositories containing source code, secrets, and CI/CD configurations.\n\nThis follows the same threat model as GHSA-j5q5-j9gm-2w5c (published March 2026): a namespace-scoped tenant with permission to create TaskRuns exploits the git resolver to exfiltrate credentials. The prior advisory involved reading the resolver pod's ServiceAccount token via path traversal. This finding involves redirecting the system Git API token via `serverURL`.\n\n### Patches\n\nFixed in:\n\n- v1.0.2 (release-v1.0.x branch)\n- v1.3.4 (release-v1.3.x branch)\n- v1.6.2 (release-v1.6.x branch)\n- v1.9.3 (release-v1.9.x branch)\n- v1.11.1 (release-v1.11.x branch)\n\nThe fix validates that when `serverURL` is user-provided and differs from the system-configured server URL, the user must also provide their own `token` parameter. Using the system token with a non-system server URL is rejected.\n\n### Workarounds\n\n- **Do not configure a system-level API token** in the git resolver ConfigMap. Instead, require all users to provide their own tokens via the `token` parameter.\n- **Restrict TaskRun creation** — limit which users or ServiceAccounts can create TaskRuns and PipelineRuns that use the git resolver.\n- **Network egress policies** — apply `NetworkPolicy` to the `tekton-pipelines-resolvers` namespace to restrict outbound traffic to known-good Git servers only.\n\n### Affected Versions\n\nAll releases from **v1.0.0** through **v1.10.0**, including all patch releases. The API mode of the git resolver has been present since the resolver was introduced.\n\nReleases prior to v1.0.0 are not affected because the git resolver either did not exist or did not have API mode.\n\n### Acknowledgments\n\nThis vulnerability was reported by Koda Reef (@kodareef5), who provided a detailed analysis and proof-of-concept. Thank you!\n\n### References\n\n- Prior advisory: [GHSA-j5q5-j9gm-2w5c](https://github.com/tektoncd/pipeline/security/advisories/GHSA-j5q5-j9gm-2w5c)\n- Related: #9608 (deprecate `api-token-secret-namespace`)\n- Related: #9609 (SubjectAccessReview for resolver secrets)","state":0,"publishedAt":"2026-04-21T18:52:18+00:00","modifiedAt":"2026-09-10T03:51:03.7182027+00:00","affected":[{"ecosystem":"Go","name":"github.com/tektoncd/pipeline","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"1.0.0"},{"kind":"fixed","version":"1.0.2"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"Go","name":"github.com/tektoncd/pipeline","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"1.2.0"},{"kind":"fixed","version":"1.3.4"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"Go","name":"github.com/tektoncd/pipeline","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"1.4.0"},{"kind":"fixed","version":"1.6.2"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"Go","name":"github.com/tektoncd/pipeline","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"1.7.0"},{"kind":"fixed","version":"1.9.3"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"Go","name":"github.com/tektoncd/pipeline","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"1.10.0"},{"kind":"fixed","version":"1.11.1"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"HIGH"}],"references":["https://github.com/tektoncd/pipeline/security/advisories/GHSA-wjxp-xrpv-xpff","https://nvd.nist.gov/vuln/detail/CVE-2026-40161","https://github.com/tektoncd/pipeline/issues/9608","https://github.com/tektoncd/pipeline/issues/9609","https://github.com/tektoncd/pipeline"],"sourceUrl":"https://github.com/advisories/GHSA-wjxp-xrpv-xpff","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-wjxp-xrpv-xpff","identifiers":["GHSA-wjxp-xrpv-xpff","CVE-2026-40161","GO-2026-5711"]},"retained":false,"historicalAffected":[]},{"revision":"e9cb07d4dda1458297b3aea3213f6a3f","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GO-2026-5711","aliases":["CVE-2026-40161","GHSA-wjxp-xrpv-xpff"],"title":"Tekton Pipelines git resolver leaks API token to user-controlled serverURL in github.com/tektoncd/pipeline","description":"Tekton Pipelines git resolver leaks API token to user-controlled serverURL in github.com/tektoncd/pipeline","state":0,"publishedAt":"2026-06-25T22:34:38+00:00","modifiedAt":"2026-07-23T19:00:13.1184168+00:00","affected":[{"ecosystem":"Go","name":"github.com/tektoncd/pipeline","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"1.0.0"},{"kind":"fixed","version":"1.0.2"},{"kind":"introduced","version":"1.1.0"},{"kind":"fixed","version":"1.3.4"},{"kind":"introduced","version":"1.4.0"},{"kind":"fixed","version":"1.6.2"},{"kind":"introduced","version":"1.7.0"},{"kind":"fixed","version":"1.9.3"},{"kind":"introduced","version":"1.10.0"},{"kind":"fixed","version":"1.11.1"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[],"references":["https://github.com/tektoncd/pipeline/security/advisories/GHSA-wjxp-xrpv-xpff","https://github.com/tektoncd/pipeline/issues/9608","https://github.com/tektoncd/pipeline/issues/9609"],"sourceUrl":"https://osv.dev/vulnerability/GO-2026-5711","license":"OSV · upstream source license applies","key":"osv:GO-2026-5711","identifiers":["GO-2026-5711","CVE-2026-40161","GHSA-wjxp-xrpv-xpff"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-10-30T01:48:55.4491357+00:00","complete":true,"records":1764,"lastAttemptAt":"2026-10-30T01:48:55.4491357+00:00","lastSuccessAt":"2026-10-30T01:48:55.6546169+00:00","error":null,"lastVerifiedAt":"2026-10-30T01:48:55.6546176+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-7e2c4e7288f2c464ad8c61f3bb6017374714faedcc781283ac06a706ee1a820b-8739c76e681f900923b900c9df0ef75cf421d39cabb54650c4b9ad19b6a76d85","complete":true,"records":416807,"lastAttemptAt":"2026-10-30T01:48:54.7743429+00:00","lastSuccessAt":"2026-10-30T00:54:38.6858592+00:00","error":null,"lastVerifiedAt":"2026-10-30T01:48:54.7743429+00:00","snapshotPublishedAt":"2026-10-30T01:29:33+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-824f5092797940c08129032fcab8f0dd","complete":false,"records":13504,"lastAttemptAt":"2026-10-30T02:01:05.0861472+00:00","lastSuccessAt":"2026-10-30T02:01:05.08+00:00","error":"9 identifier lookups failed; latest failures include HTTP 403. Other identifiers were checked independently.","lastVerifiedAt":"2026-10-30T02:01:05.08+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13547,"expectedIdentifiers":13587,"failedIdentifiers":9},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-10-30T01:48:55.4491357+00:00","complete":true,"records":1094,"lastAttemptAt":"2026-10-30T01:48:55.4491357+00:00","lastSuccessAt":"2026-10-30T01:48:55.6554576+00:00","error":null,"lastVerifiedAt":"2026-10-30T01:48:55.6554578+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-c39f89b50d5243318487ad216daf7ffb","complete":true,"records":13527,"lastAttemptAt":"2026-10-30T01:48:56.2261206+00:00","lastSuccessAt":"2026-10-29T22:50:37.74+00:00","error":null,"lastVerifiedAt":"2026-10-29T22:50:37.74+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13587,"expectedIdentifiers":13587,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-9016081e9e88f5929902343d85df87c5c4a1486b10ab07bc6c4f53f98f358871","complete":true,"records":9806,"lastAttemptAt":"2026-10-30T01:48:55.2317852+00:00","lastSuccessAt":"2026-10-29T17:17:25.9359141+00:00","error":null,"lastVerifiedAt":"2026-10-30T01:48:55.2317852+00:00","snapshotPublishedAt":"2026-10-29T16:48:29+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-2de9ccc5290f060c7aa63f89c25dd76f655a64ba1aba7c05c97fa3bee4f09899","complete":true,"records":1967,"lastAttemptAt":"2026-10-30T01:48:54.9356382+00:00","lastSuccessAt":"2026-10-28T20:55:34.2982937+00:00","error":null,"lastVerifiedAt":"2026-10-30T01:48:54.9356382+00:00","snapshotPublishedAt":"2026-10-28T20:03:08+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-5221f6b645588be0464ab0e16e8adfe42d1ccd8f841048d2bd4d0c1cf79fd6b1","complete":true,"records":3014,"lastAttemptAt":"2026-10-30T01:48:55.4168216+00:00","lastSuccessAt":"2026-10-30T00:54:54.6624163+00:00","error":null,"lastVerifiedAt":"2026-10-30T01:48:55.4168216+00:00","snapshotPublishedAt":"2026-10-30T00:48:06+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-ec5b13e78c39945726a720832da7660d2774969f16e2a34f99460c135811abd5","complete":true,"records":230948,"lastAttemptAt":"2026-10-30T01:48:55.0481567+00:00","lastSuccessAt":"2026-10-29T22:50:35.0693267+00:00","error":null,"lastVerifiedAt":"2026-10-30T01:48:55.0481567+00:00","snapshotPublishedAt":"2026-10-29T22:33:13+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}