Skip to content

Commit d8af710

Browse files
authored
Merge branch 'main' into dependabot/npm_and_yarn/npm_and_yarn-25d1bbb627
2 parents e551f41 + f316695 commit d8af710

45 files changed

Lines changed: 206 additions & 274 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Setup Node
1717
uses: actions/setup-node@v3
1818
with:
19-
node-version: 20
19+
node-version: 24
2020
- name: Cache dependencies
2121
uses: actions/cache@v3
2222
with:

.github/workflows/build_and_deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: Setup Node
2323
uses: actions/setup-node@v3
2424
with:
25-
node-version: 20
25+
node-version: 24
2626

2727
- name: Cache dependencies
2828
uses: actions/cache@v3

.github/workflows/build_and_staging.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Setup Node
2121
uses: actions/setup-node@v3
2222
with:
23-
node-version: 20
23+
node-version: 24
2424

2525
- name: Cache dependencies
2626
uses: actions/cache@v3

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
/docs/02-iaas/guides/troubleshooting-guides
99
/docs/02-iaas/guides/upgrade-guides
1010
/docs/02-iaas/guides/index.md
11-
/docs/02-iaas/deployment-examples/cloud-in-a-box
1211
/docs/02-iaas/deployment-examples/testbed
1312
/docs/03-container/components
1413
/docs/04-operating-scs/components

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v20
1+
v24

blog/2026-06-16-cve-2026-46448.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
title: Lacking sanitization of Nova scheduler hints (OSSA-2026-022 / CVE-2026-46448)
3+
authors: [garloff]
4+
slug: nova_lacking_scheulder_hints_sanitization_ossa_2026_022
5+
tags: [security, openstack, nova, cve]
6+
---
7+
8+
## The vulnerability
9+
10+
When talking to the OpenStack Nova Compute API, Users can specify scheduler
11+
hints, expressing preferences for Server (VM) placement. Users can however
12+
inject a values `{"_nova_check_type": "rebuild"}` that is only meant to be used
13+
internally in the rebuild context which causes certain resource checks to be
14+
skipped. This can cause placement contraints such as host aggregates, AZs, image
15+
traits to be ignored and cause PCI pass-through resources to not be properly
16+
mapped. While the assigned quota is still observed, the vulnerability may cause
17+
exhaustion of resources and confusion of the scheduler (placement) state and
18+
thus may result in a Denial of Service for certain resource types.
19+
20+
This issue was reported by Erichen, Institute of Computing Technology, Chinese
21+
Academy of Sciences and was subsequently analyzed and handled by Goutham Pacha Ravi,
22+
Dan Smith and Sylvain Bauza. It was assigned CVE-2026-46448.
23+
24+
## Impact on the SCS software ecosystem
25+
26+
Malevolent authenticated users could use this to schedule VMs on hosts that
27+
would normally not be accessible to their VMs (e.g. because they are in a
28+
host aggregate only available to GPU flavors which are manually enabled for
29+
selected customers only). This could result in resource exhaustion for
30+
legitimate users and cause the placement accounting to be confused.
31+
32+
This will mainly affect providers that exposed specialized features via
33+
special flavors (such as e.g. GPUs) which may be scarce. In particular,
34+
PCI devices may be assigned without proper accounting in the placement
35+
service.
36+
37+
## Embargo
38+
39+
The issue was reported to the OpenStack Vulnerability Management Team.
40+
Following coordination with the reporters and upstream developers, the official
41+
OpenStack Security Advisory
42+
[OSSA-2026-022](https://security.openstack.org/ossa/OSSA-2026-022.html) was
43+
published on Tuesday, 2026-06-16, 15:00 UTC.
44+
45+
## Mitigation and Fixes
46+
47+
The fix consists in ensuring that internal `_nova_` scheduler hints are properly
48+
filtered out in the API exposed to users.
49+
50+
Providers are advised to deploy fixed nova-api containers.
51+
The SCS ecosystem software providers will provide fixed nova images along with
52+
update instructions.
53+
54+
- [OSISM](https://osism.tech/docs/appendix/security/ossa-2026-022)
55+
- [yaook](https://yaook.cloud/security-advisories-cve-2026-46448/)
56+
57+
Operators where users may have caused confusion in the placement accounting
58+
will need to run
59+
60+
```shell
61+
nova-manage placement heal_allocations
62+
```
63+
64+
to ensure that accounting in the placement service is consistent again.
65+
66+
## References
67+
68+
- [OSSA-2026-022 Advisory](https://security.openstack.org/ossa/OSSA-2026-022.html)
69+
- [Launchpad Bug #2151252](https://bugs.launchpad.net/nova/+bug/2151252)
70+
71+
## Thanks
72+
73+
The author would like to thank the reporters, the OpenStack vulnerability
74+
management team and the abovementioned maintainers for reporting,
75+
analyzing, fixing and handling the issue.
76+
77+
## Sovereign Cloud Stack Security Contact
78+
79+
SCS security contact is
80+
[security@scs.community](mailto:security@scs.community), as published on
81+
[https://sovereigncloudstack.org/.well-known/security.txt](https://sovereigncloudstack.org/.well-known/security.txt).
82+
83+
## Version history
84+
85+
- Initial draft, v0.5, 2026-06-16, 13:30 CEST
86+
- Initial publication, v1.0, 2026-06-16, 17:00 CEST
87+
- Link OSISM advisory, v1.1, 2026-06-16, 19:30 CEST
88+
- Link yaook advisory, v1.2, 2026-06-17, 13:30 CEST

contributor-docs/operations/iam/identity-federation-in-scs.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@ administration of user identities to the organizational entities that the
1010
users are part of. Usually that's customer organizations but it could also
1111
be the operator itself. Federation protocols like OpenID Connect can be used
1212
to achieve that goal. To simplify connecting the different parts of SCS
13-
to customer owned IAM solutions, SCS deploys Keycloak as central Identity
14-
Provider (IdP) service.
13+
to customer owned IAM solutions, the SCS reference implementation uses
14+
Keycloak as central Identity Provider (IdP) service.
1515

16-
Currently this is deployed automatically only in the [osism/testbed](https://docs.scs.community/docs/iaas/guides/deploy-guide/examples/testbed/),
17-
which provides [its own documentation for authentication with OIDC](https://docs.scs.community/docs/iaas/guides/deploy-guide/examples/testbed#authentication-with-oidc).
16+
Keycloak is available as a [component of OSISM](https://osism.tech/docs/concepts/components/keycloak/)
17+
that operators can enable and configure as the central IdP.
1818

1919
The following sections describe how this is done.
2020

2121
## 1. IaaS / OpenStack
2222

2323
To provide Infrastrucure as a Service SCS builds upon
24-
OpenStack. See section [OpenStack Federation via OpenID-Connect](https://docs.scs.community/dev-docs/operations/iam/openstack-federation-via-oidc)
24+
OpenStack. See section [OpenStack Federation via OpenID-Connect](https://docs.scs.community/contributor-docs/operations/iam/openstack-federation-via-oidc)
2525
for more details on identity federation for OpenStack.
2626

2727
## 2. CaaS

docs.package.json

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,12 @@
55
"target": "docs",
66
"label": "06-releases"
77
},
8-
{
9-
"repo": "osism/osism.github.io",
10-
"source": "docs/guides/operations-guide/openstack/tools/*",
11-
"target": "docs/02-iaas/components",
12-
"label": ""
13-
},
148
{
159
"repo": "SovereignCloudStack/standards",
1610
"source": ["Standards/*.md", "Tests/scs-*.yaml"],
1711
"target": "standards",
1812
"label": ""
1913
},
20-
{
21-
"repo": "osism/osism.github.io",
22-
"source": "docs/guides",
23-
"target": "docs/02-iaas/",
24-
"label": ""
25-
},
26-
{
27-
"repo": "osism/osism.github.io",
28-
"source": "docs/cloud-in-a-box",
29-
"target": "docs/02-iaas/deployment-examples",
30-
"label": ""
31-
},
32-
{
33-
"repo": "osism/osism.github.io",
34-
"source": "docs/testbed",
35-
"target": "docs/02-iaas/deployment-examples",
36-
"label": ""
37-
},
3814
{
3915
"repo": "SovereignCloudStack/k8s-harbor",
4016
"source": "docs",

docs/01-getting-started/containerization.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

docs/01-getting-started/overview.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)