CVE-2026-71192
Full vulnerability record from the local CVENow database.
Description
In OpenStack Swift through 2.38.0, the S3API middleware does not sanitize Swift-native control headers (X-Copy-From, X-Copy-From-Account) from S3 API requests when s3_acl=true. An attacker can inject these headers into a signed PUT request targeting their own bucket, causing Swift to perform a server-side copy from another tenant's private object. The source object authorization is bypassed because the S3API middleware has already authorized the request against the destination. The attacker can read any object whose project_id, container name, and object name are known, regardless of the source object's ACLs or ownership. This requires the non-default s3_acl=true configuration.
View original CVE JSON
{
"id": "CVE-2026-71192",
"sourceIdentifier": "[email protected]",
"published": "2026-08-05T06:16:40.333",
"lastModified": "2026-10-24T15:10:00.190",
"vulnStatus": "Awaiting Analysis",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In OpenStack Swift through 2.38.0, the S3API middleware does not sanitize Swift-native control headers (X-Copy-From, X-Copy-From-Account) from S3 API requests when s3_acl=true. An\nattacker can inject these headers into a signed PUT request targeting their own bucket, causing Swift to perform a server-side copy from another tenant's private object. The source object authorization is bypassed because the S3API middleware has already authorized the request against the destination. The attacker can read any object whose project_id, container name, and object name are known, regardless of the source object's ACLs or ownership. This requires the non-default s3_acl=true configuration."
},
{
"lang": "es",
"value": "En OpenStack Swift hasta la versión 2.38.0, el middleware S3API no sanitiza los encabezados de control nativos de Swift (X-Copy-From, X-Copy-From-Account) de las solicitudes de la API S3 cuando s3_acl=true. Un atacante puede inyectar estos encabezados en una solicitud PUT firmada dirigida a su propio bucket, haciendo que Swift realice una copia del lado del servidor de un objeto privado de otro inquilino. La autorización del objeto de origen se omite porque el middleware S3API ya ha autorizado la solicitud contra el destino. El atacante puede leer cualquier objeto cuyo project_id, nombre de contenedor y nombre de objeto sean conocidos, independientemente de las ACLs o la propiedad del objeto de origen. Esto requiere la configuración no predeterminada s3_acl=true."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "OpenStack",
"product": "Swift",
"defaultStatus": "unaffected",
"repo": "https://opendev.org/openstack/swift",
"versions": [
{
"version": "2.18.0",
"lessThan": "2.35.4",
"versionType": "semver",
"status": "affected"
},
{
"version": "2.36.0",
"lessThan": "2.36.3",
"versionType": "semver",
"status": "affected"
},
{
"version": "2.37.0",
"lessThan": "2.37.3",
"versionType": "semver",
"status": "affected"
},
{
"version": "2.38.0",
"versionType": "semver",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV40": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "4.0",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/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",
"baseScore": 6.0,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "NONE",
"vulnAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"subAvailabilityImpact": "NONE",
"exploitMaturity": "NOT_DEFINED",
"confidentialityRequirement": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"availabilityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"valueDensity": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED"
}
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-05T13:31:24.534760Z",
"id": "CVE-2026-71192",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-863"
}
]
}
],
"references": [
{
"url": "https://launchpad.net/bugs/2158733",
"source": "[email protected]"
},
{
"url": "https://openwall.com/lists/oss-security/2026/07/28/26",
"source": "[email protected]"
},
{
"url": "https://security.openstack.org/ossa/OSSA-2026-030.html",
"source": "[email protected]"
}
]
}