---
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'
---

## Overview

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 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.

## Affected

- `book_library < 6.4.6`

## Remediation

Upgrade past the affected range:

- `book_library 6.4.6`
