Tina: Code injection via unescaped Git branch name in generated client source
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| tinacms | tinacms | affected |
|
||||||
| @tinacms | cli | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Tina | Cli |
|
||||||||
| Tina | Tinacms |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-pwhx-cvv3-qj5c | Tina: Code injection via unescaped Git branch name in generated client source |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.332% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Tina
Tina cli Tina tinacms |
|
| Vendors & Products |
Tina
Tina cli Tina tinacms |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Tina is a headless content management system. Prior to 3.0.0, @tinacms/cli reads Git branch values from VERCEL_GIT_COMMIT_REF, GITHUB_BRANCH, or HEAD, incorporates the raw value into the API URL, and interpolates that URL into JavaScript string literals in packages/@tinacms/cli/src/next/codegen/index.ts and packages/@tinacms/cli/src/next/codegen/codegen/plugin.ts. A crafted Git-valid branch name containing a quote can terminate the generated string and inject an expression that executes when the generated client module is imported during a preview build. The injected code runs with the build process privileges and can read environment credentials, modify deployment artifacts, or make network requests. This issue is fixed in version 3.0.0. | |
| Title | Tina: Code injection via unescaped Git branch name in generated client source | |
| Weaknesses | CWE-94 | |
| References |
| |
| Metrics |
cvssV3_1
|