CVE-2019-10908

Source
https://cve.org/CVERecord?id=CVE-2019-10908
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-10908.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2019-10908
Published
2019-04-07T14:29:00.427Z
Modified
2026-04-11T08:55:42.785162Z
Severity
  • 9.8 (Critical) CVSS_V3 - CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
[none]
Details

In Airsonic 10.2.1, RecoverController.java generates passwords via org.apache.commons.lang.RandomStringUtils, which uses java.util.Random internally. This PRNG has a 48-bit seed that can easily be bruteforced, leading to trivial privilege escalation attacks.

References

Affected packages

Git / github.com/airsonic/airsonic

Affected ranges

Type
GIT
Repo
https://github.com/airsonic/airsonic
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
Fixed
Database specific
{
    "versions": [
        {
            "introduced": "0"
        },
        {
            "last_affected": "10.2.1"
        }
    ]
}

Affected versions

v10.*
v10.0.0
v10.0.1
v10.1.0
v10.1.1
v10.2.0
v10.2.1
v6.*
v6.0.1
v6.1-alpha1
v6.1.beta1
v6.1.beta2
v6.2.beta1
v6.2.beta2
v6.2.beta3

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-10908.json"
vanir_signatures_modified
"2026-04-11T08:55:42Z"
vanir_signatures
[
    {
        "signature_version": "v1",
        "deprecated": false,
        "digest": {
            "length": 1295.0,
            "function_hash": "325504793078609483966411285950876329835"
        },
        "source": "https://github.com/airsonic/airsonic/commit/61c842923a6d60d4aedd126445a8437b53b752c8",
        "id": "CVE-2019-10908-86ef7199",
        "signature_type": "Function",
        "target": {
            "function": "recover",
            "file": "airsonic-main/src/main/java/org/airsonic/player/controller/RecoverController.java"
        }
    },
    {
        "signature_version": "v1",
        "deprecated": false,
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "306902619043511208777043774479233319458",
                "235260804270135839556344748120016677644",
                "52252328664859783619630708361983114047",
                "177140614392107701064657302501927018764",
                "254785093093872409594456233108426115839",
                "98420451014953792449252712386928920945",
                "53254821030174006499322925024081186116",
                "237882640957566887093044149016074411570",
                "41150062776900013791720395791978191229",
                "91895520617278394574573291235136116966",
                "70447786806686895237620879881896881667",
                "220929181535967927907967111098680390572",
                "79080806081490026652277835295310742198",
                "14103496997639108755502257368917195492"
            ]
        },
        "source": "https://github.com/airsonic/airsonic/commit/61c842923a6d60d4aedd126445a8437b53b752c8",
        "id": "CVE-2019-10908-de09202f",
        "signature_type": "Line",
        "target": {
            "file": "airsonic-main/src/main/java/org/airsonic/player/controller/RecoverController.java"
        }
    }
]