{"schemaVersion":3,"id":"CVE-2026-108879","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"JeecgBoot through 3.9.5 contains an insecure direct object reference vulnerability in AiragBaseApiController that allows authenticated users to read other users' AI chat variables via the username parameter. Attackers can send POST requests to /airag/api/getChatVariable with a target appId, username, and variable name to retrieve stored chat memory values from Redis.","dates":{"published":"2026-10-11T14:33:41.213Z","modified":"2026-10-18T12:13:30.729Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.3,"severity":"medium","version":"4.0","versionLabel":"v4.0","source":"CVE.org","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":5.3,"severity":"medium","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":4.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":5.3,"severity":"medium","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/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","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":4.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00193,"percentile":0.0848,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-10-12T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00193,"percentile":0.0848}],"last30":[{"date":"2026-10-12T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00193,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00193,"percentile":0.0848}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_ANKESKASTY_CVE-REQUEST-POC","name":"Cve Request Poc","source":"github","url":"https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_airag_ocr_record_edit.py","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-639","name":"Authorization Bypass Through User-Controlled Key","description":"The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/639.html"}],"affected":[{"vendor":"jeecgboot","product":"jeecgboot","name":"JeecgBoot","label":"jeecgboot","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 3.9.5","noFixRecorded":false,"fixedIn":null}],"versionsText":"≤ 3.9.5","eol":null,"hubHref":"/vendor/jeecgboot/jeecgboot"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_caller_identity_subjects.py","label":"github.com/AnkesKasty/…","hostname":"github.com","tags":["Exploit"]},{"url":"https://github.com/jeecgboot/JeecgBoot/blob/e3b9dc0aefe1943d9772b026f64ed671a7c82802/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragBaseApiController.java#L47-L54","label":"github.com/jeecgboot/…","hostname":"github.com","tags":["Technical Description"]},{"url":"https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-idor-via-airag-api-getchatvariable-username-parameter","label":"www.vulncheck.com/advisories/…","hostname":"www.vulncheck.com","tags":["Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-11T14:33:41.213Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-18T12:13:30.729Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":31,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T21:41:00.454Z","stale":false,"partial":false}}