{"id":"CVE-2026-101110","title":"Joomla Extension - ordasoft.com - Unauthenticated SQL Injection in Book Library (Free) < 6.4.6 - site/booklibrary.php’s books() function reads the field and direction request parameters and passes each through a function called protectIn…","summary":"Joomla Extension - ordasoft.com - Unauthenticated SQL Injection in Book Library (Free) < 6.4.6 - site/booklibrary.php’s books() function reads the field and direction request parameters and passes each through a function called protectIn…","severity":"critical","cvss":9.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cwe":["CWE-89"],"vendor":"ordasoft","product":"book_library","affected":["book_library < 6.4.6"],"patched":["book_library 6.4.6"],"published":"2026-09-28","updated":"2026-10-07","sourceUpdated":"2026-10-07T21:02:05.590","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-101110","references":[{"url":"https://www.ordasoft.com/","label":"security@joomla.org"}],"tags":["nvd","exploit-available","cve.org"],"epss":0.00319,"epssPercentile":0.24671,"exploits":{"github":1,"githubRepos":["https://github.com/murrez/CVE-2026-101110"],"checkedAt":"2026-10-27T16:52:29.498Z"},"exploitAvailable":true,"ssvc":{"exploitation":"none","automatable":"yes","technicalImpact":"total","timestamp":"2026-09-30T13:39:28.326789Z"},"scores":{"nvd":9.8,"cna":9.3},"ingestedAt":"2026-09-28T19:19:07.731Z","slug":"CVE-2026-101110","body":"## Overview\n\nJoomla Extension - ordasoft.com - Unauthenticated SQL Injection in Book Library (Free) < 6.4.6 - site/booklibrary.php’s books() function reads the field and direction request parameters and passes each through a function called protectInjectionWithoutQuote(), whose only real protection is a keyword blacklist that, on detecting the literal substring select, wraps the value in $db->quote() instead of rejecting it. The value is then concatenated directly into an unquoted ORDER BY clause, a position where quoting provides no protection at all. Reaching the vulnerable code path requires two conditions: a first request to prime session-stored sort defaults, and a trailing decoy comment (-- xselect) that satisfies the blacklist’s substring check without altering the payload’s effect.\n\n## Affected\n\n- `book_library < 6.4.6`\n\n## Remediation\n\nUpgrade past the affected range:\n\n- `book_library 6.4.6`","depth":"abyssal","depthScore":66,"depthScoreParts":{"impact":53.9,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":217781,"id":"CVE-2026-101110","ts":1791410324071,"field":"cvss","old":"9.3","new":"9.8"},{"seq":212672,"id":"CVE-2026-101110","ts":1790691973958,"field":"exploit_available","old":"false","new":"true"}]}