CVE-2025-47907
NoneCVSS
—
EPSS
0.4%
Published
Aug 7, 2025
CISA due date
—
Cloudanix analysis
A flaw in how software retrieves data can cause applications to mix up information, leading to incorrect results and unpredictable behavior.
- Exploitation
- Other
- Attacker needs
- Other
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- Library
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A race condition exists in the database driver where cancelling a query while its results are being processed can cause data from a different, concurrently running query to be returned instead. This leads to the application receiving incorrect data, mismatched data types, or unexpected errors, corrupting the state of the application in-memory.
Why it matters to the business
This vulnerability can lead to severe data integrity issues, causing applications to behave unpredictably. Potential consequences include displaying one user's data to another, incorrect financial calculations, failed transactions, or application crashes. These issues can result in financial loss, reputational damage, and potential breaches of data privacy regulations.
How an attack unfolds
An attacker would not exploit this vulnerability for direct code execution or system compromise. Instead, they would attempt to trigger the race condition to manipulate application logic. By sending carefully timed requests that cause the application to execute concurrent database queries and then forcing a cancellation on one (e.g., through a timeout), the attacker could induce the application to read incorrect data. For example, a check for account funds might return the balance of a different user, potentially allowing an unauthorized transaction to proceed.
How to fix it
To remediate this vulnerability, update the affected components to a patched version. Developers using Go should update their toolchain and dependencies to include the fix. The specific fixed versions are: - For Go applications, ensure the `database/sql` package is updated to a version including commit `dd8b7ad9268c2fbde675132a41b4e4da02eef94d` or later. - For users of Bitnami PostgreSQL images, upgrade to version `13.22.0` or newer.
How to confirm the fix worked
To validate the fix, inspect the build environment and application dependencies to confirm that patched versions of the Go `database/sql` package or relevant database drivers are in use. Check `go.mod` and `go.sum` files for the correct module versions. Additionally, consider creating a stress test that runs concurrent queries with frequent cancellations to verify that the application remains stable and does not return incorrect data under load.
Typical attack path
- Identify an application feature that performs multiple database queries in parallel.
- Send requests that trigger these concurrent queries.
- Induce a query cancellation, for example by closing the connection or causing a request timeout.
- The race condition is triggered, causing the application to process data from the wrong query.
- The application acts on the incorrect data, leading to a failure in business logic that benefits the attacker.
How to detect it
Detecting past exploitation is difficult as this is a transient, in-memory data corruption issue. There are no static indicators of compromise. Analysts should investigate application-level logs for secondary effects. Look for anomalies such as a user's session suddenly being associated with another user's data, business logic failures that coincide with database query timeouts, or an increase in application errors related to data type mismatches when scanning database results, particularly under high load.
What your security team should do
- Prioritize patching for all applications written in Go that perform database queries, as the vulnerability lies in a core library.
- Scan application source code or dependency manifests to identify all services using affected Go versions or database drivers.
- Review application logs for patterns of unexpected data type errors or data inconsistencies, which may indicate that this race condition has been triggered in the past.
The record
Cancelling a query (e.g. by cancelling the context passed to one of the query methods) during a call to the Scan method of the returned Rows can result in unexpected results if other queries are being made in parallel. This can result in a race condition that may overwrite the expected results with those of another query, causing the call to Scan to return either unexpected results from the other query or an error.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Go | stdlib | 0 | 1.23.12 |
| AlmaLinux:10 | podman | 0 | 7:5.6.0-5.el10_1 |
| AlmaLinux:10 | podman-docker | 0 | 7:5.6.0-5.el10_1 |
| AlmaLinux:10 | podman-remote | 0 | 7:5.6.0-5.el10_1 |
| AlmaLinux:10 | podman-tests | 0 | 7:5.6.0-5.el10_1 |
| AlmaLinux:9 | podman | 0 | 6:5.6.0-6.el9_7 |
| AlmaLinux:9 | podman-docker | 0 | 6:5.6.0-6.el9_7 |
| AlmaLinux:9 | podman-plugins | 0 | 6:5.6.0-6.el9_7 |
| AlmaLinux:9 | podman-remote | 0 | 6:5.6.0-6.el9_7 |
| AlmaLinux:9 | podman-tests | 0 | 6:5.6.0-6.el9_7 |
| Bitnami | golang | 0 | 1.23.12 |
| Chainguard | aactl | 0 | 0.4.12-r34 |
| Chainguard | actions-runner-controller-fips | 0 | 0 |
| Chainguard | actions-runner-controller-fips-compat | 0 | 0 |
| Chainguard | addon-resizer | 0 | 0 |
| Chainguard | addon-resizer-compat | 0 | 0 |
| Chainguard | addon-resizer-fips | 0 | 1.8.23-r8 |
| Chainguard | addon-resizer-fips-compat | 0 | 1.8.23-r8 |
| Chainguard | age | 0 | 0 |
| Chainguard | age-fips | 0 | 0 |
| Chainguard | amass | 0 | 5.0.0-r1 |
| Chainguard | amazon-cloudwatch-agent | 0 | 1.300058.1-r1 |
| Chainguard | amazon-cloudwatch-agent-all | 0 | 1.300058.1-r1 |
| Chainguard | amazon-cloudwatch-agent-amazon-cloudwatch-agent-config-wizard | 0 | 1.300058.1-r1 |
| Chainguard | amazon-cloudwatch-agent-amazon-cloudwatch-agent-config-wizard-fips | 0 | 0 |
| Chainguard | amazon-cloudwatch-agent-compat | 0 | 1.300058.1-r1 |
| Chainguard | amazon-cloudwatch-agent-config-downloader | 0 | 1.300058.1-r1 |
| Chainguard | amazon-cloudwatch-agent-config-downloader-fips | 0 | 0 |
| Chainguard | amazon-cloudwatch-agent-config-translator | 0 | 1.300058.1-r1 |
| Chainguard | amazon-cloudwatch-agent-config-translator-fips | 0 | 0 |
| Chainguard | amazon-cloudwatch-agent-fips | 0 | 0 |
| Chainguard | amazon-cloudwatch-agent-operator | 0 | 0 |
| Chainguard | amazon-cloudwatch-agent-operator-compat | 0 | 0 |
| Chainguard | amazon-cloudwatch-agent-operator-fips | 0 | 0 |
| Chainguard | amazon-cloudwatch-agent-operator-fips-compat | 0 | 0 |
| Chainguard | amazon-cloudwatch-agent-start-amazon-cloudwatch-agent | 0 | 1.300058.1-r1 |
| Chainguard | amazon-cloudwatch-agent-start-amazon-cloudwatch-agent-fips | 0 | 0 |
| Chainguard | amazon-k8s-cni | 0 | 1.20.1-r1 |
| Chainguard | amazon-k8s-cni-compat | 0 | 1.20.1-r1 |
| Chainguard | amazon-k8s-cni-fips | 0 | 0 |
| Chainguard | amazon-k8s-cni-init | 0 | 1.20.1-r1 |
| Chainguard | amazon-k8s-cni-init-compat | 0 | 1.20.1-r1 |
| Chainguard | amazon-k8s-cni-init-fips | 0 | 0 |
| Chainguard | amazon-k8s-cni-init-fips-compat | 0 | 0 |
| Chainguard | amazon-ssm-agent | 0 | 3.3.2746.0-r2 |
| Chainguard | amazon-ssm-agent-ecs-exec | 0 | 3.3.2746.0-r2 |
| Chainguard | amazon-ssm-agent-ecs-exec-fips | 0 | 3.3.2746.0-r2 |
| Chainguard | amazon-ssm-agent-fips | 0 | 3.3.2746.0-r2 |
| Chainguard | ansible-operator | 0 | 0 |
| Chainguard | ansible-operator-compat | 0 | 0 |
| Chainguard | apache-beam-java-11-sdk | 0 | 0 |
| Chainguard | apache-beam-java-17-sdk | 0 | 0 |
| Chainguard | apache-beam-java-21-sdk | 0 | 0 |
| Chainguard | apache-beam-java-sdk | 0 | 0 |
| Chainguard | apache-beam-python-3.11-sdk | 0 | 2.66.0-r2 |
| Chainguard | apache-exporter | 0 | 1.0.10-r1 |
| Chainguard | apisix-ingress-controller | 0 | 0 |
| Chainguard | apisix-ingress-controller-compat | 0 | 0 |
| Chainguard | apisix-ingress-controller-iamguarded-compat | 0 | 0 |
| Chainguard | apko | 0 | 0.30.4-r0 |
| Chainguard | apko-fips | 0 | 0.30.2-r1 |
| Chainguard | apm-server-7.17 | 0 | 0 |
| Chainguard | apm-server-7.17-compat | 0 | 0 |
| Chainguard | apm-server-8.18 | 0 | 8.18.4-r2 |
| Chainguard | apm-server-8.18-compat | 0 | 8.18.4-r2 |
| Chainguard | apm-server-9.0 | 0 | 9.0.4-r2 |
| Chainguard | apm-server-9.0-compat | 0 | 9.0.4-r2 |
| Chainguard | apm-server-fips-7.17 | 0 | 0 |
| Chainguard | apm-server-fips-7.17-compat | 0 | 0 |
| Chainguard | apm-server-fips-8.18 | 0 | 0 |
| Chainguard | apm-server-fips-8.18-compat | 0 | 0 |
| Chainguard | apm-server-fips-9.0 | 0 | 0 |
| Chainguard | apm-server-fips-9.0-compat | 0 | 0 |
| Chainguard | argo-cd-2.13 | 0 | 0 |
| Chainguard | argo-cd-2.13-compat | 0 | 0 |
| Chainguard | argo-cd-2.13-repo-server | 0 | 0 |
| Chainguard | argo-cd-2.14 | 0 | 2.14.15-r3 |
| Chainguard | argo-cd-2.14-compat | 0 | 2.14.15-r3 |
| Chainguard | argo-cd-2.14-repo-server | 0 | 2.14.15-r3 |
| Chainguard | argo-cd-3.0 | 0 | 3.0.12-r1 |
| Chainguard | argo-cd-3.0-compat | 0 | 3.0.12-r1 |
| Chainguard | argo-cd-3.0-iamguarded-compat | 0 | 3.0.12-r1 |
| Chainguard | argo-cd-3.0-repo-server | 0 | 3.0.12-r1 |
| Chainguard | argo-cd-fips-2.11 | 0 | 2.11.13-r11 |
| Chainguard | argo-cd-fips-2.11-compat | 0 | 2.11.13-r11 |
| Chainguard | argo-cd-fips-2.11-repo-server | 0 | 2.11.13-r11 |
| Chainguard | argo-cd-fips-2.12 | 0 | 0 |
| Chainguard | argo-cd-fips-2.12-compat | 0 | 0 |
| Chainguard | argo-cd-fips-2.12-repo-server | 0 | 0 |
| Chainguard | argo-cd-fips-2.13 | 0 | 0 |
| Chainguard | argo-cd-fips-2.13-compat | 0 | 0 |
| Chainguard | argo-cd-fips-2.13-repo-server | 0 | 0 |
| Chainguard | argo-cd-fips-2.14 | 0 | 0 |
| Chainguard | argo-cd-fips-2.14-compat | 0 | 0 |
| Chainguard | argo-cd-fips-2.14-repo-server | 0 | 0 |
| Chainguard | argo-cd-fips-3.0 | 0 | 3.0.12-r2 |
| Chainguard | argo-cd-fips-3.0-compat | 0 | 3.0.12-r2 |
| Chainguard | argo-cd-fips-3.0-iamguarded-compat | 0 | 3.0.12-r2 |
| Chainguard | argo-cd-fips-3.0-repo-server | 0 | 3.0.12-r2 |
| Chainguard | argo-events | 0 | 0 |
| Chainguard | argo-events-compat | 0 | 0 |
| Chainguard | argo-events-fips | 0 | 1.9.7-r2 |
| Chainguard | argo-events-fips-compat | 0 | 1.9.7-r2 |
| Chainguard | argo-rollouts | 0 | 0 |
| Chainguard | argo-rollouts-compat | 0 | 0 |
| Chainguard | argo-rollouts-fips | 0 | 1.8.3-r3 |
| Chainguard | argo-workflow-cli | 0 | 3.7.0-r2 |
| Chainguard | argo-workflow-cli-fips | 0 | 3.7.0-r2 |
| Chainguard | argo-workflow-controller | 0 | 3.7.0-r2 |
| Chainguard | argo-workflow-controller-compat | 0 | 3.7.0-r2 |
| Chainguard | argo-workflow-controller-compat-fips | 0 | 3.7.0-r2 |
| Chainguard | argo-workflow-controller-fips | 0 | 3.7.0-r2 |
| Chainguard | argo-workflow-executor | 0 | 3.7.0-r2 |
| Chainguard | argo-workflow-executor-compat | 0 | 3.7.0-r2 |
| Chainguard | argo-workflow-executor-compat-fips | 0 | 3.7.0-r2 |
| Chainguard | argo-workflow-executor-fips | 0 | 3.7.0-r2 |
| Chainguard | argo-workflows | 0 | 3.7.0-r2 |
| Chainguard | argo-workflows-fips | 0 | 3.7.0-r2 |
| Chainguard | argo-workflows-known-hosts | 0 | 3.7.0-r2 |
| Chainguard | argo-workflows-known-hosts-fips | 0 | 3.7.0-r2 |
| Chainguard | argo-workflows-ui | 0 | 3.7.0-r2 |
| Chainguard | argocd-image-updater | 0 | 0.16.0-r6 |
| Chainguard | argocd-image-updater-compat | 0 | 0.16.0-r6 |
| Chainguard | argocd-image-updater-fips | 0 | 0 |
| Chainguard | atlantis | 0 | 0.35.1-r1 |
| Chainguard | atlantis-fips | 0 | 0 |
| Chainguard | auditbeat-7 | 0 | 7.17.29-r2 |
| Chainguard | auditbeat-7-oci-entrypoint | 0 | 7.17.29-r2 |
| Chainguard | auditbeat-fips-7 | 0 | 7.17.29-r3 |
| Chainguard | authservice | 0 | 1.0.4-r10 |
| Chainguard | authservice-compat | 0 | 1.0.4-r10 |
| Chainguard | authservice-fips | 0 | 0 |
| Chainguard | authservice-fips-compat | 0 | 0 |
| Chainguard | aws-application-networking-k8s | 0 | 0 |
| Chainguard | aws-application-networking-k8s-compat | 0 | 0 |
| Chainguard | aws-application-networking-k8s-fips | 0 | 1.1.3-r3 |
| Chainguard | aws-application-networking-k8s-fips-compat | 0 | 1.1.3-r3 |
| Chainguard | aws-ebs-csi-driver-fips | 0 | 1.47.0-r2 |
| Chainguard | aws-efs-csi-driver | 0 | 0 |
| Chainguard | aws-efs-csi-driver-fips | 0 | 0 |
| Chainguard | aws-eks-pod-identity-agent | 0 | 0.1.32-r2 |
| Chainguard | aws-eks-pod-identity-agent-compat | 0 | 0.1.32-r2 |
| Chainguard | aws-eks-pod-identity-agent-fips | 0 | 0 |
| Chainguard | aws-flb-cloudwatch | 0 | 1.9.4-r19 |
| Chainguard | aws-flb-cloudwatch-compat | 0 | 1.9.4-r19 |
| Chainguard | aws-flb-cloudwatch-compat-fips | 0 | 1.9.4-r13 |
| Chainguard | aws-flb-cloudwatch-fips | 0 | 1.9.4-r13 |
| Chainguard | aws-flb-firehose | 0 | 1.7.2-r19 |
| Chainguard | aws-flb-firehose-compat | 0 | 1.7.2-r19 |
| Chainguard | aws-flb-firehose-compat-fips | 0 | 1.7.2-r13 |
| Chainguard | aws-flb-firehose-fips | 0 | 1.7.2-r13 |
| Chainguard | aws-flb-kinesis | 0 | 1.10.2-r20 |
| Chainguard | aws-flb-kinesis-compat | 0 | 1.10.2-r20 |
| Chainguard | aws-flb-kinesis-compat-fips | 0 | 1.10.2-r14 |
| Chainguard | aws-flb-kinesis-fips | 0 | 1.10.2-r14 |
| Chainguard | aws-iam-authenticator | 0 | 0.7.5-r1 |
| Chainguard | aws-iam-authenticator-fips | 0 | 0.7.5-r1 |
| Chainguard | aws-load-balancer-controller | 0 | 2.13.4-r1 |
| Chainguard | aws-load-balancer-controller-compat | 0 | 2.13.4-r1 |
| Chainguard | aws-load-balancer-controller-fips | 0 | 2.13.4-r1 |
| Chainguard | aws-network-policy-agent | 0 | 1.2.3-r3 |
| Chainguard | aws-network-policy-agent-compat | 0 | 1.2.3-r3 |
| Chainguard | aws-network-policy-agent-compat-fips | 0 | 0 |
| Chainguard | aws-network-policy-agent-fips | 0 | 0 |
| Chainguard | aws-node-termination-handler | 0 | 1.25.2-r1 |
| Chainguard | aws-node-termination-handler-compat | 0 | 1.25.2-r1 |
| Chainguard | aws-node-termination-handler-fips | 0 | 1.25.2-r1 |
| Chainguard | aws-node-termination-handler-fips-compat | 0 | 1.25.2-r1 |
| Chainguard | aws-nuke | 0 | 3.56.2-r2 |
| Chainguard | aws-nuke-fips | 0 | 0 |
| Chainguard | aws-otel-collector | 0 | 0 |
| Chainguard | aws-otel-collector-compat | 0 | 0 |
| Chainguard | aws-otel-collector-fips | 0 | 0.43.3-r4 |
| Chainguard | aws-otel-collector-fips-healthcheck | 0 | 0.43.3-r4 |
| Chainguard | aws-otel-collector-healthcheck | 0 | 0 |
| Chainguard | aws-otel-collector-healthcheck-fips | 0 | 0.43.3-r4 |
| Chainguard | aws-privateca-issuer | 0 | 0 |
| Chainguard | aws-privateca-issuer-compat | 0 | 0 |
| Chainguard | aws-privateca-issuer-compat-fips | 0 | 1.6.0-r3 |
| Chainguard | aws-privateca-issuer-fips | 0 | 1.6.0-r3 |
| Chainguard | aws-s3-controller | 0 | 0 |
| Chainguard | aws-s3-controller-compat | 0 | 0 |
| Chainguard | aws-signer-notation-plugin | 0 | 1.0.2292-r2 |
| Chainguard | aws-signer-notation-plugin-fips | 0 | 1.0.2292-r2 |
| Chainguard | aws-sigv4-proxy | 0 | 1.10-r2 |
| Chainguard | aws-sigv4-proxy-compat | 0 | 1.10-r2 |
| Chainguard | aws-sigv4-proxy-fips | 0 | 1.10-r2 |
| Chainguard | aws-sigv4-proxy-fips-compat | 0 | 1.10-r2 |
| Chainguard | azcopy-fips | 0 | 0 |
| Chainguard | azure-aad-pod-identity-mic | 0 | 1.8.17-r26 |
| Chainguard | azure-aad-pod-identity-nmi | 0 | 1.8.17-r26 |
| Chainguard | azure-ipam | 0 | 0.4.0-r3 |
| Chainguard | azure-ipam-dropgz | 0 | 0.4.0-r3 |
| Chainguard | azure-service-operator | 0 | 2.14.0-r2 |
| Chainguard | azure-service-operator-compat | 0 | 2.14.0-r2 |
| Chainguard | azure-service-operator-fips | 0 | 2.14.0-r2 |
| Chainguard | azure-workload-identity-webhook | 0 | 1.5.1-r2 |
| Chainguard | azure-workload-identity-webhook-compat | 0 | 1.5.1-r2 |
| Chainguard | azuredisk-csi-1.28 | 0 | 0 |
| Chainguard | azuredisk-csi-1.28-compat | 0 | 0 |
Related vulnerabilities
- CVE-2025-68121 During session resumption in crypto/tls, if the underlying Config has its ClientCAs or… Also affects stdlib
- CVE-2025-22873 It was possible to improperly access the parent directory of an os.Root by opening a… Also affects stdlib
- GO-2026-4403 Improper access to parent directory of root in os Also affects stdlib
- CVE-2025-61726 The net/url package does not set a limit on the number of query parameters in a query. Also affects stdlib
- CVE-2025-61728 archive/zip uses a super-linear file name indexing algorithm that is invoked the first… Also affects stdlib
- CVE-2025-61730 During the TLS 1.3 handshake if multiple messages are sent in records that span… Also affects stdlib
- CVE-2025-61727 An excluded subdomain constraint in a certificate chain does not restrict the usage of… Also affects stdlib
- CVE-2025-61729 Within HostnameError.Error(), when constructing an error string, there is no limit to the… Also affects stdlib