/

CVE-2026-107082

Severity:

HIGH RISK

(8.8)

SQL Injection (CWE-89) in Slims 9 Bulian Bibliography

CVE-2026-107082

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-89

Impact:

Database Information Disclosure and Arbitrary Data Extraction

Severity:

HIGH RISK

(8.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Slims 9 Bulian contains a SQL injection vulnerability in the bibliography administration endpoint, where authenticated staff-controlled parameters are inserted into a numeric SQL context without adequate structural protection. A staff user may exploit this behavior to disclose database errors and extract arbitrary data when the affected endpoint is reachable.

Slims 9 Bulian contains a SQL injection vulnerability in the bibliography administration endpoint, where authenticated staff-controlled parameters are inserted into a numeric SQL context without adequate structural protection. A staff user may exploit this behavior to disclose database errors and extract arbitrary data when the affected endpoint is reachable.

Affected context

The vulnerability occurs in Slims 9 Bulian 9.8.0 within the bibliography administration functionality at admin/modules/bibliography/index.php. It affects deployments where authenticated staff users can submit the opac_hide or promoted GET parameters and the application concatenates those values into numeric SQL expressions.

The vulnerability occurs in Slims 9 Bulian 9.8.0 within the bibliography administration functionality at admin/modules/bibliography/index.php. It affects deployments where authenticated staff users can submit the opac_hide or promoted GET parameters and the application concatenates those values into numeric SQL expressions.

Exploit preconditions

  • Attack surface: The bibliography administration HTTP endpoint
  • Required access: Authentication as a staff user with access to the affected functionality
  • Trigger point: Processing of the opac_hide or promoted GET parameters
  • Why exploitation is possible: Input escaping is applied, but the values are concatenated into an unquoted numeric SQL context, allowing SQL syntax to influence database processing
  • Attack surface: The bibliography administration HTTP endpoint
  • Required access: Authentication as a staff user with access to the affected functionality
  • Trigger point: Processing of the opac_hide or promoted GET parameters
  • Why exploitation is possible: Input escaping is applied, but the values are concatenated into an unquoted numeric SQL context, allowing SQL syntax to influence database processing

Why this happens

The underlying issue is construction of SQL statements by concatenating request parameters into a numeric expression. Although escape_string() is used, string escaping does not reliably protect values when the intended SQL type and query structure are not enforced through parameter binding. This behavior maps to CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection').

The underlying issue is construction of SQL statements by concatenating request parameters into a numeric expression. Although escape_string() is used, string escaping does not reliably protect values when the intended SQL type and query structure are not enforced through parameter binding. This behavior maps to CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection').

Potential impact

  • An authenticated staff user may retrieve information from database tables
  • Database errors may disclose schema or query details
  • Sensitive library, user, or administrative data could be exposed
  • Attackers could use extracted information to support further compromise
  • Data integrity may be affected if the database account permits modification operations
  • An authenticated staff user may retrieve information from database tables
  • Database errors may disclose schema or query details
  • Sensitive library, user, or administrative data could be exposed
  • Attackers could use extracted information to support further compromise
  • Data integrity may be affected if the database account permits modification operations

General mitigation guidance

Mitigation generally focuses on separating SQL code from user-supplied values and enforcing the expected data type before query execution.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for every database operation
  • Validate numeric parameters with strict allowlisted type and range checks
  • Avoid relying on string escaping as the primary SQL injection defense
  • Apply least-privilege permissions to the application database account
  • Return generic database errors to users while recording detailed diagnostics securely
  • Centralize database access patterns so unsafe query construction is difficult by default

Mitigation generally focuses on separating SQL code from user-supplied values and enforcing the expected data type before query execution.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for every database operation
  • Validate numeric parameters with strict allowlisted type and range checks
  • Avoid relying on string escaping as the primary SQL injection defense
  • Apply least-privilege permissions to the application database account
  • Return generic database errors to users while recording detailed diagnostics securely
  • Centralize database access patterns so unsafe query construction is difficult by default

How teams detect issues like this

Detection approaches may include:

  • Static analysis rules for SQL string concatenation involving request parameters
  • Code review checks for numeric inputs embedded directly in query text
  • Dynamic testing of authenticated administrative endpoints using benign type-boundary and malformed-input cases
  • Monitoring for unusual database errors, unexpected query patterns, and abnormal data-volume responses
  • Policy enforcement requiring prepared statements and approved database-access abstractions
  • Automated security and code-review tools that identify injection-prone data flows

Detection approaches may include:

  • Static analysis rules for SQL string concatenation involving request parameters
  • Code review checks for numeric inputs embedded directly in query text
  • Dynamic testing of authenticated administrative endpoints using benign type-boundary and malformed-input cases
  • Monitoring for unusual database errors, unexpected query patterns, and abnormal data-volume responses
  • Policy enforcement requiring prepared statements and approved database-access abstractions
  • Automated security and code-review tools that identify injection-prone data flows

Sources

SourceLink
github.comgithub.com/Primandito/CVE-2026-107082
github.comgithub.com/slims/slims9_bulian/issues/392

Frequently asked

questions

It may be exploitable through the application's HTTP interface, but exploitation requires network access to the affected administration endpoint and valid staff authentication.

An attacker generally needs an authenticated staff account authorized to reach the bibliography functionality. The practical impact also depends on database permissions and application deployment controls.

Use parameterized queries or prepared statements and validate the affected values as strict integers before they reach database code.

Enforce secure database-access patterns in code review and CI, prohibit request-parameter concatenation in SQL, use least-privilege database accounts, and monitor administrative endpoints for anomalous query behavior.

It may be exploitable through the application's HTTP interface, but exploitation requires network access to the affected administration endpoint and valid staff authentication.

An attacker generally needs an authenticated staff account authorized to reach the bibliography functionality. The practical impact also depends on database permissions and application deployment controls.

Use parameterized queries or prepared statements and validate the affected values as strict integers before they reach database code.

Enforce secure database-access patterns in code review and CI, prohibit request-parameter concatenation in SQL, use least-privilege database accounts, and monitor administrative endpoints for anomalous query behavior.

Find out what's already
exploitable in your codebase.