/

CVE-2026-55683

Severity:

CRITICAL RISK

(9.8)

SQL Injection (CWE-89) in WeGIA Billing Web Endpoint

CVE-2026-55683

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-89

Impact:

Unauthorized database access, data modification, and potential data loss

Severity:

CRITICAL RISK

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

A critical SQL injection vulnerability in WeGIA's unauthenticated billing endpoint allows attacker-controlled request parameters to influence database queries. A remote attacker may read, alter, or delete application data, including billing records, credentials, and database tables, when the endpoint is reachable and accepts crafted input.

A critical SQL injection vulnerability in WeGIA's unauthenticated billing endpoint allows attacker-controlled request parameters to influence database queries. A remote attacker may read, alter, or delete application data, including billing records, credentials, and database tables, when the endpoint is reachable and accepts crafted input.

Affected context

The vulnerability occurs in WeGIA deployments using the affected billing registration endpoint before the security fix. Risk is present when the endpoint is exposed to untrusted network requests and request parameters are incorporated into SQL statements without parameterized query handling. The affected data flows include billing values, person and member identifiers, and membership-type identifiers.

The vulnerability occurs in WeGIA deployments using the affected billing registration endpoint before the security fix. Risk is present when the endpoint is exposed to untrusted network requests and request parameters are incorporated into SQL statements without parameterized query handling. The affected data flows include billing values, person and member identifiers, and membership-type identifiers.

Exploit preconditions

  • Attack surface: The unauthenticated web/html/socio/sistema/cadastro_cobranca.php web endpoint
  • Required access: Network access to the endpoint; no valid application account is required
  • Trigger point: Processing of POST or other request parameters used by the billing workflow
  • Relevant inputs: Parameters such as valor, valor_pago, id_pessoa, id_socio, and id_sociotipo
  • Why exploitation is possible: Request values are incorporated into multiple SQL statements without prepared statements or equivalent parameter binding
  • Attack surface: The unauthenticated web/html/socio/sistema/cadastro_cobranca.php web endpoint
  • Required access: Network access to the endpoint; no valid application account is required
  • Trigger point: Processing of POST or other request parameters used by the billing workflow
  • Relevant inputs: Parameters such as valor, valor_pago, id_pessoa, id_socio, and id_sociotipo
  • Why exploitation is possible: Request values are incorporated into multiple SQL statements without prepared statements or equivalent parameter binding

Why this happens

The underlying bug is failure to separate untrusted request data from SQL syntax. The endpoint uses broad request-variable extraction and places attacker-influenced values directly into UPDATE, INSERT, and SELECT statements. This behavior maps to CWE-89, SQL Injection, because input is interpreted as part of a database command rather than being handled strictly as data.

The underlying bug is failure to separate untrusted request data from SQL syntax. The endpoint uses broad request-variable extraction and places attacker-influenced values directly into UPDATE, INSERT, and SELECT statements. This behavior maps to CWE-89, SQL Injection, because input is interpreted as part of a database command rather than being handled strictly as data.

Potential impact

  • An attacker may read sensitive application and credential data
  • Billing records and other database content could be modified
  • Database tables may be deleted or truncated, causing data loss
  • Application integrity and charitable-institution operations could be disrupted
  • Compromised database content could support further attacks against users or services
  • An attacker may read sensitive application and credential data
  • Billing records and other database content could be modified
  • Database tables may be deleted or truncated, causing data loss
  • Application integrity and charitable-institution operations could be disrupted
  • Compromised database content could support further attacks against users or services

General mitigation guidance

Mitigation generally centers on removing executable SQL interpretation from

request-controlled values and reducing the trust placed in unauthenticated

inputs.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for every database operation
  • Apply allowlisted, type-aware validation to numeric identifiers and monetary values
  • Avoid broad request-variable extraction and map accepted fields explicitly
  • Enforce authentication and authorization for billing and database-changing operations
  • Restrict database accounts to the minimum required tables and operations
  • Prevent destructive operations through application-level and database-level policy controls
  • Use generic error handling that does not expose SQL or schema details

Mitigation generally centers on removing executable SQL interpretation from

request-controlled values and reducing the trust placed in unauthenticated

inputs.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for every database operation
  • Apply allowlisted, type-aware validation to numeric identifiers and monetary values
  • Avoid broad request-variable extraction and map accepted fields explicitly
  • Enforce authentication and authorization for billing and database-changing operations
  • Restrict database accounts to the minimum required tables and operations
  • Prevent destructive operations through application-level and database-level policy controls
  • Use generic error handling that does not expose SQL or schema details

How teams detect issues like this

Organizations can look for SQL injection risks through:

  • Static analysis rules identifying string concatenation or interpolation in SQL APIs
  • Code review checks for request variables passed directly into database queries
  • Review of dynamic variable extraction such as extract($_REQUEST) near database code
  • Runtime monitoring for unusual query errors, unexpected operators, and destructive database activity
  • Web application firewall or gateway policies that detect suspicious database-language patterns
  • Database audit logs correlating unauthenticated requests with reads, updates, or schema-impacting actions
  • Automated security review tools that flag missing parameter binding and weak input validation

Organizations can look for SQL injection risks through:

  • Static analysis rules identifying string concatenation or interpolation in SQL APIs
  • Code review checks for request variables passed directly into database queries
  • Review of dynamic variable extraction such as extract($_REQUEST) near database code
  • Runtime monitoring for unusual query errors, unexpected operators, and destructive database activity
  • Web application firewall or gateway policies that detect suspicious database-language patterns
  • Database audit logs correlating unauthenticated requests with reads, updates, or schema-impacting actions
  • Automated security review tools that flag missing parameter binding and weak input validation

Sources

SourceLink
github.comgithub.com/LabRedesCefetRJ/WeGIA/commit/f819be361f984592c4b5a35db830495b4e2263fa
github.comgithub.com/LabRedesCefetRJ/WeGIA/issues/184
github.comgithub.com/LabRedesCefetRJ/WeGIA/pull/1705
github.comgithub.com/LabRedesCefetRJ/WeGIA/releases/tag/3.8.6
github.comgithub.com/LabRedesCefetRJ/WeGIA/security/advisories/GHSA-vjxh-wcf9-4qgq

Frequently asked

questions

Yes. The affected endpoint is web-accessible and reportedly does not require

authentication, so a remote attacker may be able to target it when network

access is available.

The key requirement is access to the vulnerable endpoint. A valid WeGIA

account is not generally required, although network filtering, deployment

configuration, or other controls may limit reachability.

Use prepared statements or parameterized queries for all request-derived

values, validate each field according to its expected type, and explicitly

authorize billing operations.

Combine secure database APIs with code review and static analysis policies,

minimize database privileges, avoid broad request-variable extraction, and

monitor database activity for unexpected access or destructive behavior.

Yes. The affected endpoint is web-accessible and reportedly does not require

authentication, so a remote attacker may be able to target it when network

access is available.

The key requirement is access to the vulnerable endpoint. A valid WeGIA

account is not generally required, although network filtering, deployment

configuration, or other controls may limit reachability.

Use prepared statements or parameterized queries for all request-derived

values, validate each field according to its expected type, and explicitly

authorize billing operations.

Combine secure database APIs with code review and static analysis policies,

minimize database privileges, avoid broad request-variable extraction, and

monitor database activity for unexpected access or destructive behavior.

Find out what's already
exploitable in your codebase.