{"id":"CVE-2026-120335","kind":"vulnerability","aliases":["CVE-2026-120335"],"related":[],"title":"Farm: path traversal in model loader lets local files be read","description":"A vulnerability has been found in deepset-ai farm up to 0.8.0. Affected is the function WordEmbedding_LM.load of the file farm/modeling/language_model.py of the component Model Package Loader. The manipulation of the argument embeddings_filename leads to path traversal. An attack has to be approached locally. The exploit has been disclosed to the public and may be used. The vendor was contacted early about this disclosure but did not respond in any way. This vulnerability only affects products that are no longer supported by the maintainer.","summary":"The deepset-ai Farm library up to 0.8.0 fails to validate the embeddings_filename argument in WordEmbedding_LM.load, enabling path traversal. A local attacker can point the loader at files outside the intended directory.","severity":"medium","cvss":4.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["farm","nlp","package","python"],"not_affected_if":["hardcoded-model-paths","loader-unused","no-untrusted-input"],"how_to_check":"- Check the installed Farm version with `pip show farm-haystack` or `pip show farm` and see whether it is `0.8.0` or earlier\n- Search your code for calls to `WordEmbedding_LM.load` that take a user-supplied `embeddings_filename`","fix":null,"status":"open","published_at":"2026-11-02T03:17:30+00:00","first_seen_at":"2026-11-02T03:31:23+00:00","triaged_at":"2026-11-02T03:31:55+00:00","updated_at":"2026-11-02T03:31:55+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-02T03:31:55Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"Farm: path traversal in model loader lets local files be read","impact":"low","summary":"The deepset-ai Farm library up to 0.8.0 fails to validate the embeddings_filename argument in WordEmbedding_LM.load, enabling path traversal. A local attacker can point the loader at files outside the intended directory.","audience":"developers","category":"package","nicknames":[],"who_cares":["python","farm","nlp"],"confidence":0.6,"fix_status":"unknown","needs_auth":"unknown","worst_case":"local attacker reads files outside the intended model directory","analyst_note":"Confirm whether any fixed version or migration exists and check the NVD entry for CVSS details; the sources say the product is unsupported.","how_to_check":"- Check the installed Farm version with `pip show farm-haystack` or `pip show farm` and see whether it is `0.8.0` or earlier\n- Search your code for calls to `WordEmbedding_LM.load` that take a user-supplied `embeddings_filename`","plain_action":"","needs_analyst":true,"not_affected_if":["hardcoded-model-paths","loader-unused","no-untrusted-input"],"who_is_affected":"Only teams that load word embedding models in Farm with a filename that could come from untrusted input are exposed. The description says the vendor is no longer supporting these versions, so no upstream fix is confirmed. Teams that hardcode model paths or do not use this loader can skip it.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000694,"input_tokens":4186,"output_tokens":551,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-120335':14A,17A '-2026':13A,16A '0.8.0':30B,68C 'affect':69C,132C 'ai':25B,64C 'approach':100C 'argument':37B,88C 'attack':45B,96C 'compon':80C 'contact':117C 'cve':12A,15A 'deepset':24B,63C 'deepset-ai':23B,62C 'directori':55B 'disclos':106C 'disclosur':121C 'earli':118C 'embed':35B,89C 'enabl':40B 'exploit':103C 'fail':31B 'farm':1A,18B,26B,65C 'farm/modeling/language_model.py':77C 'file':9A,51B,76C 'filenam':36B,90C 'found':60C 'function':72C 'intend':54B 'lead':91C 'let':7A 'librari':27B 'loader':6A,49B,83C 'local':8A,44B,101C 'longer':137C 'maintain':141C 'manipul':85C 'may':111C 'model':5A,81C 'nlp':19B 'outsid':52B 'packag':20B,82C 'path':2A,41B,93C 'point':47B 'product':133C 'public':109C 'python':21B 'read':11A 'respond':125C 'support':138C 'travers':3A,42B,94C 'use':113C 'valid':33B 'vendor':115C 'vulner':57C,130C 'way':128C 'wordembedding_lm.load':39B,73C","nicknames":[],"mitigations":[],"who_affected":"Only teams that load word embedding models in Farm with a filename that could come from untrusted input are exposed. The description says the vendor is no longer supporting these versions, so no upstream fix is confirmed. Teams that hardcode model paths or do not use this loader can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["farm","medium","nlp","package","python"],"first_public_at":"2026-11-02T03:17:30+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:P/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","cvss_by":"cna@vuldb.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-120335","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120335","severity":null,"published_at":"2026-11-02T03:17:30+00:00","modified_at":"2026-11-02T03:17:30+00:00","first_seen_at":"2026-11-02T03:31:23+00:00","fetched_at":"2026-11-02T03:31:23+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}