CVE-2026-76902

Source
https://cve.org/CVERecord?id=CVE-2026-76902
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-76902.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-76902
Aliases
  • GHSA-93p7-j9r5-jc7q
Published
2026-09-18T19:57:50Z
Modified
2026-09-26T08:12:03Z
Severity
  • 5.0 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L CVSS Calculator
Summary
CordysCRM: Unauthenticated arbitrary file disclosure via `/attachment/preview/{id}` and `/pic/preview/{id}`
Details

CordysCRM is an open source AI-powered customer relationship management system that supports private deployment. Prior to 1.7.4, ShiroFilter configures /attachment/preview/{id} and /pic/preview/{id} as anonymous, and both routes call AttachmentService.getResource, which performs a bare primary-key lookup without ownership, organization, or permission checks. An unauthenticated caller who guesses or observes an id generated by IDGenerator.nextStr can download files uploaded by users in other organizations because the stored organization id is used only to locate the file rather than authorize the caller. This issue is fixed in version 1.7.4.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-306",
        "CWE-862"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/76xxx/CVE-2026-76902.json"
}
References

Affected packages

Git / github.com/1panel-dev/cordyscrm

Affected ranges

Type
GIT
Repo
https://github.com/1panel-dev/cordyscrm
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
Show details
{
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "1.7.4"
        }
    ],
    "source": [
        "AFFECTED_FIELD",
        "REFERENCES"
    ]
}

Affected versions

v1.*
v1.3.0
v1.3.1
v1.3.2
v1.3.3
v1.4.0
v1.4.1
v1.5.0
v1.5.1
v1.5.2
v1.6.0
v1.6.1
v1.6.2
v1.7.0
v1.7.1
v1.7.2
v1.7.3

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-76902.json"
vanir_signatures
[
    {
        "deprecated": false,
        "digest": {
            "function_hash": "3348423628549828312750038272685437111",
            "length": 146
        },
        "id": "CVE-2026-76902-088cd002",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/integration/sso/controller/SSOController.java",
            "function": "callbackDingTalkOauth"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "95871642183877179095850695255115821047",
            "length": 167
        },
        "id": "CVE-2026-76902-1573ef03",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/system/controller/LoginController.java",
            "function": "logout"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "137471538476864579559879744228251273482",
                "268331911174843861286610357216828548480",
                "84260064242909266304165098406215317979",
                "170798005108372734410061819834309319561",
                "56321149054744593603945921276198242748",
                "7197837565392682064515812705630693809",
                "54261250860481544038343076080753351535",
                "157506366144683023890955151197883868063"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-76902-1799e6d1",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/config/ShiroConfig.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "3348423628549828312750038272685437111",
            "length": 146
        },
        "id": "CVE-2026-76902-2691f509",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/integration/sso/controller/SSOController.java",
            "function": "callbackLark"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "322856797642326094794542592133640649763",
                "274464224692554614241650580048209933098",
                "47654083737151028031343268795474117998",
                "247145538147207762682924421606525374677",
                "222984420421730388238995243297087608279",
                "331363177183362680888042803899961377966",
                "120113027512357582798922787347061335606",
                "143524413660179914911443864182845249302",
                "145374786176722330530197923944647242787",
                "34201617248888208131579855588787938378",
                "96750089831516225811485820916502120508",
                "147952649212499449061033074098878035523",
                "229594338456224183760188289933264622193",
                "174743816854286673446849676984212580041",
                "301800332854477096821763004228907349036",
                "224505465547730896562455899919265895649",
                "221875662684730387422832288994904196215",
                "162957308186484231631979170766023342288",
                "60074716399339033341486620211703526804",
                "31272475156642172211165049899065734132",
                "56336868391144945323476537849450437718",
                "115686550821627417588981361816989802442",
                "195014358294361217582832720529883609455",
                "212351694978961825608340176161998912477",
                "180525368091931532472888015029974766535",
                "14154806900121401084568856790595016083",
                "244416618484175303914537462598331310370",
                "209979250084975161995927364321116796709",
                "28760777368947662556888344963603346651",
                "280359103563493102396575773232256836635",
                "213903746396181964723214669898576304529",
                "236177031911114203667857215398609191260",
                "50178097234201986727492840886972807620",
                "42491601782919146975690295442283067293",
                "99761891174598286050862849441446949202",
                "160108332242087700728759658786975807321",
                "241254701243357236996985412558327172400",
                "104328631342257289192503450630684359185",
                "169790782067815525871223896149812693341",
                "116560828579439969883717352460097898471",
                "102107210205201227651216866238393990382",
                "229612699426124862987984577530415879725",
                "314324069874253989143333810780925579774"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-76902-365b8a46",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/integration/sso/controller/SSOController.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "83946019071025207395592426871236601294",
            "length": 154
        },
        "id": "CVE-2026-76902-4798157c",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/integration/sso/controller/SSOController.java",
            "function": "callbackLarkOauth"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "336510094046358878399414985752237065228",
            "length": 513
        },
        "id": "CVE-2026-76902-5be60ba0",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/system/controller/LoginController.java",
            "function": "login"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "292609700625210280784989543262349177190",
            "length": 278
        },
        "id": "CVE-2026-76902-6d92148e",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/integration/sso/controller/SSOController.java",
            "function": "callbackOauth"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "19641449443040538881601851850617124159",
            "length": 533
        },
        "id": "CVE-2026-76902-8121ca14",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/config/ShiroConfig.java",
            "function": "shiroFilterFactoryBean"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "338752533705204521167832996692242394830",
            "length": 116
        },
        "id": "CVE-2026-76902-8be80ee3",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/framework/src/main/java/cn/cordys/security/ShiroFilter.java",
            "function": "loadBaseFilterChain"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "174673718011159929991722273683668989061",
                "195591198564657630522013672848595576867",
                "162151851543765449242897624524723055340",
                "125375592480506054444188761380956353979",
                "30973924315071487939418827289278244133",
                "40313236503289468041656333770450021238"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-76902-8d7aa4ca",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/framework/src/main/java/cn/cordys/security/ShiroFilter.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "3348423628549828312750038272685437111",
            "length": 146
        },
        "id": "CVE-2026-76902-94aa2a3c",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/integration/sso/controller/SSOController.java",
            "function": "callbackWeCom"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "3348423628549828312750038272685437111",
            "length": 146
        },
        "id": "CVE-2026-76902-b6cf6ab9",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/integration/sso/controller/SSOController.java",
            "function": "callbackWeComOauth"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "34022605427068670561043909071173724731",
            "length": 153
        },
        "id": "CVE-2026-76902-ba6f72c3",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/integration/sso/controller/SSOController.java",
            "function": "callbackLarkOauthByMobile"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "122949565509241879480376674200919081554",
                "288182919293119385535083848678258666338"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-76902-c3b67810",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/framework/src/main/java/cn/cordys/security/SessionUtils.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "297035554684689859976900268137718555754",
                "170303434073081179366561086831023795378",
                "45846805413225389400126786608722788331",
                "137435120986061611741588412491777321525",
                "269534725956125332894559569595136165384",
                "117988473800182647043574568235015816399"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-76902-c81882a1",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/83bd0bf7422c0391af6c2f798f62c624a056bf6b",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/follow/service/BaseFollowUpService.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "320144658412324829475839133206321393830",
            "length": 1596
        },
        "id": "CVE-2026-76902-c823bc9d",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/83bd0bf7422c0391af6c2f798f62c624a056bf6b",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/follow/service/BaseFollowUpService.java",
            "function": "checkRecordPermission"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "185694716837410421357368178254000090414",
                "20358152068011068032745330999377531943",
                "221871673580619478358855014794084082353",
                "249229303424646174275552359193990773309",
                "77089734863463828465318311662330567592",
                "172114774635396160312126738289219455246",
                "286154975667581471570915617095850386082",
                "285397854829917409549081693037042478909",
                "287976434791996925620198590542215760313",
                "320992245601058667073939992635104398585",
                "334944915011504797464370313546133327994",
                "48242671624227446753976021469802976132",
                "104016044848276006751755576102199136883",
                "256915023649795791134766389633610734964",
                "70938844220842040038330645105237146278",
                "126052411711795007485073158886692440710",
                "316649778128001504663972492954208457882",
                "338916216667650906997713315264155629878",
                "235491359811693459891184022503503262915",
                "215474391857255982206693083449572563267",
                "89005201956511742723310616216251106061",
                "329343155466074762800107848317243915025",
                "26872875162917884754168865343064768308",
                "307716372563969780796586191132337942155"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-76902-d5442dab",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/system/controller/LoginController.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "3348423628549828312750038272685437111",
            "length": 146
        },
        "id": "CVE-2026-76902-e97054b9",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/1panel-dev/cordyscrm/commit/3d1f68be0778ce35362688296bf355c1cb2d86fb",
        "target": {
            "file": "backend/crm/src/main/java/cn/cordys/crm/integration/sso/controller/SSOController.java",
            "function": "callbackDingTalk"
        }
    }
]
vanir_signatures_modified
"2026-09-26T08:12:03Z"