36349 matches found
phpMyFAQ has SQL Injection in `StopWords::add()` — Unescaped Stop Word Insertion
Summary The StopWords::add method in phpMyFAQ builds a SQL INSERT statement using sprintf and inserts the user-supplied stop word value directly into the query string without calling the application's database escaping function on it. A sibling method, StopWords::update, which modifies an existin...
phpMyFAQ's two-factor authentication login bypasses the password factor
Summary The public two-factor verification endpoint POST /check logs a user in based solely on a valid 6-digit TOTP token and a chosen user-id. It does not require — and is not bound to — a prior successful password authentication. For any account that has 2FA enabled, an unauthenticated attacker...
phpMyFAQ has Stored XSS in Admin FAQ Editor via HTML Entity Bypass in Frontend FAQ Submission
Summary A stored cross-site scripting XSS vulnerability in phpMyFAQ allows any unauthenticated user or low-privileged registered user to inject arbitrary JavaScript that executes in an administrator's browser when they review or edit a user-submitted FAQ entry. This leads to admin account takeove...
langchain-nvidia-ai-endpoints has local file disclosure through VLM image inputs
Summary langchain-nvidia-ai-endpoints versions before 1.4.2 accepted local filesystem paths as image inputs for Vision Language Model VLM requests. If an application passed attacker-controlled image input to ChatNVIDIA or VLM reranking APIs, an attacker could cause files readable by the applicati...
CyberChef: Prototype pollution in Series Chart operation
On 5 June 2026 CyberChef received a security vulnerability report from @hyuunnn detailing a vulnerability in the Series Chart operation, where malicious input could result in prototype pollution of the data structures outputted from the operation. Other operations following Series Chart could hav...
ixo Blockchain x/bonds DID-resolved payer drain + x/entity ICA authorization bypass
Impact Type: Improper authorization leading to unauthorized movement of user funds. The x/bonds module moved funds from an address that was resolved from a DID verification method, without verifying that the resolved address belonged to the transaction signer. Affected handlers included...
Decepticon: Role-boundary forgery via ChatML special-token literals in web crawl output composed into LLM context
Summary Decepticon wraps web crawl results — the output of agent reconnaissance against target services — into LLM messages without neutralizing ChatML special-token literals. Under the BYOK Bring Your Own Key deployment model, users configure their own LLM credentials to any OpenAI-compatible...
Language Servers for AWS vulnerable to arbitrary file write
Summary Language Servers for AWS the aws/language-servers project provides the Language Server Protocol implementations that power AWS developer tooling, including the Amazon Q Developer agentic chat experience, across IDEs such as VS Code, JetBrains, Visual Studio, and Eclipse. Missing symlink...
Language Servers for AWS Vulnerable to Arbitrary Code Execution
Summary Language Servers for AWS the aws/language-servers project provide the underlying language-server runtime that powers Amazon Q Developer's AI coding assistance across its IDE plugins Visual Studio Code, JetBrains, Eclipse, and Visual Studio. Improper trust boundary enforcement in Language...
yara-x: Unvalidated deserialization in safe `Rules::deserialize` allows memory corruption and UB
!NOTE This finding was identified during an agentic unsafe Rust code review performed by Gemini AI, followed by human review and verification. The Issue The crate exports a public safe API Rules::deserialize accepting any generic byte sequence B: AsRef. It restores compiled rule structures direct...
AI-powered fuzzing with the GitHub Security Lab Taskflow Agent
If you 're new to fuzzing and want to learn the fundamentals first, check out our Fuzzing 101 course at gh.io/fuzzing101. Continuous fuzzing is not a magic solution that solves all your problems . Even projects that have been enrolled in OSS-Fuzz for years can still hide critical bugs, and the...
Snipe-IT: Stored XSS via Inline XML Rendering in the Uploaded Files API
Snipe-IT's uploaded-files API accepts XML documents and later serves them inline without applying the safe-inline allowlist used by the equivalent web controller. An authenticated user who can attach files to a supported object can upload an XSLT stylesheet and an XML document that references it...
ZITADEL: MFA bypass via session reuse in Login V2
Summary A vulnerability in ZITADEL’s Login V2 UI allowed a password-verified browser session to be reused for a new authentication request without re-checking a user’s enrolled second factor TOTP, OTP, or U2F. An attacker who already knows valid credentials can fully authenticate to an applicatio...
ZITADEL: Actions V1 sandbox escape: host file read via require()
Summary A vulnerability in ZITADEL Actions V1 allows an organization Action author to read files from the ZITADEL host filesystem through the JavaScript require module loader. On common self-hosted deployments this can be chained to steal bootstrap credentials including the Login Client PAT and...
Snipe-IT: Stored XSS via Custom Field name in asset-list column headers
Impact A user with the "customfields.create" permission can store HTML/JS in a Custom Field name, which is later rendered as an asset-list column title WITHOUT escaping at app/Presenters/AssetPresenter.php line 364 'title' = $field-name and injected into the table header by the bundled...
Dozzle label filters do not restrict container event and statistics streams
Summary Dozzle supports per-user label filters in users.yml that are documented as an access-control boundary: "Filters are used to restrict the containers that a user can see" and "the guest user can only see containers with the label com.example.app … useful for restricting access to specific...
Snipe-IT: 2FA bypass via the API token flow
Impact An attacker who knows a victim's password fully bypasses that account's 2FA and obtains a persistent token with full API access as the user read and write across the user's permissions, including admin if the victim is an admin. The token is an API credential, not a web/UI session using it...
podman quadlet install --replace does not fully replace the old file
Impact When running podman quadlet install --replace to replace a Quadlet file, if the original Quadlet is larger than the new Quadlet, the file would not be truncated and content from the original would be preserved. There is no risk of information leakage as the user already had access to the...
Streamlink: HTTPSession follows HTTP redirects into file:// URLs, reading local files
Summary HTTPSession mounts a FileAdapter for the file:// scheme and inherits redirect handling unchanged from requests.Session. requests does not check for scheme downgrades or cross-protocol transitions when it follows a redirect, so any https request Streamlink makes can be redirected by the...
SunEditor: Critical XSS vulnerability - sanitizer bypass
Summary SUNEDITOR v2.47.10 appears to allow JavaScript execution through crafted namespaced HTML elements. The sanitization logic does not fully remove executable event-handler attributes from certain custom/namespaced tags. As a result, an attacker may be able to inject HTML content that execute...
REDAXO: Unwhitelisted ORDER BY Column in rex_list Allows Authenticated Column Enumeration
Summary The rexlist component reads the SQL sort column directly from the sort GET parameter without validating it against the set of columns declared sortable via setColumnSortable. Although the value is wrapped in backticks via escapeIdentifier preventing classical SQL injection, this still...
elysia has Inefficient Algorithmic Complexity and Interpretation Conflict
Elysia v1.4.28 is vulnerable to denial-of-service attacks due to CPU exhaustion in the form data normalization code. Elysia uses getAll to retrieve value from FormData. It is called directly relative to the total number of key-value pairs in the form data. The total amount of work the for loop ha...
ReactPress has SQL injection via dynamic column names in TypeORM query builders
Summary ReactPress API list endpoints build TypeORM QueryBuilder conditions using unsanitized HTTP query parameter names as SQL column identifiers e.g. article.$key . TypeORM parameterizes values but not column names, allowing unauthenticated attackers to inject SQL through crafted query string...
plone.app.contenttypes has a Denial of Service in File Upload due to excessive filename length
Impact When creating an Image or File with a very large filename, Plone can become unresponsive. Even if the content loads, it can be hard to edit or delete, because the UI is unwieldy. Patches The problem has been patched in plone.app.contenttypes. On Plone 6.2, upgrade to plone.app.contenttypes...
plone.app.dexterity has a Denial of Service due to excessive title or description length
Impact When creating content with a very large title or description field, Plone can become unresponsive. Even if the content loads, it can be hard to edit or delete, because the UI is unwieldy. Patches The problem has been patched in plone.app.dexterity. On Plone 6.2, upgrade to...
OpenC3 COSMOS: Stored, cross-user XSS via Telemetry screen BUTTON widget
Summary A user who can save a telemetry screen permission systemset can embed JavaScript in a screen BUTTON widget. The BUTTON widget evals the stored button text in the browser when the button is activated, and screens are shared content rendered to other users in the scope. As a result, an...
Klever-Go: Validator registration accepts an unvalidated BLS public key → consensus liveness DoS
Location: core/kapp/validators/validators.go:201 Register, genesis/checking/nodesSetupChecker.go:73. core/consensus/slot/bls/subslotStartSlot.go:165 core/consensus/.../headerSignatureVerify.go:123 Create.... Description Klever uses a BDN Boneh-Drijvers-Neven BLS multi-signature over BLS12-381 to...
Klever-Go: Elasticsearch bulk / painless injection via on-chain account name -> explorer/indexer data forgery
Component: Elasticsearch indexer indexer/ Primary location: indexer/common.go:2395-2407 serializedDataForUpdateAccounts Entry point: SetAccountName native transaction contract type 12 — core/process/transaction/txProcess.go:688 --- Description When the node indexes account updates to Elasticsearc...
Klever-Go: Zombie-order theft: `Buy` missing `IsClaimed` guard in native marketplace
Location: core/kapp/market/market.go — Buy approx. L281–436\ Severity: High The native marketplace enforces an IsClaimed guard in Claim market.go:752, CancelOrder market.go:1125, and orderEscrowAmount market.go:251, but not in Buy. Marketplace escrow is virtual: the market KApp account never...
Formie: Missing authorization on sent notification resend modal exposes submission PII
Impact The control panel action formie/sent-notifications/get-resend-modal-content SentNotificationsController::actionGetResendModalContent performed only requireAcceptsJson and loaded a SentNotification by request id without permission or object-level authorization checks. Any authenticated user...
Jawn: Quadratic parsing effort in AsyncParser
AsyncParser can be forced to perform On^2 work on the length of the input. When a single JSON token arrives across many small chunks, each absorb call rescans the incomplete token from the start. Impact Denial of service via CPU exhaustion when parsing untrusted JSON. Preconditions: - Application...
Jawn: Uncontrolled nesting depth in JSON parser
The Jawn parser before 1.6.1 is vulnerable to a denial of service attack via untrusted input. Impact A remote attacker who can submit JSON to any jawn-backed parse method can exhaust JVM heap and trigger java.lang.OutOfMemoryError. This is treated by Scala as a fatal error and not typically handl...
Klever-Go Account takeover: `kleverUpdateAccountPermission` authorizes on attacker-controlled `RecipientAddr` instead of the authenticated caller
Description The VM built-in function KleverUpdateAccountPermission registered always-active, creator.go:381-390 / core/vmconstants.go:234 rewrites an account's entire permission set. Its authorization check uses vmInput.RecipientAddr attacker-controlled instead of the authenticated...
Klever-Go: Unauthenticated WebSocket /subscribe: no read-size limit, no connection cap, permissive origin -> remote node memory/goroutine exhaustion (DoS)
Summary The unauthenticated WebSocket endpoint GET /subscribe is registered open: true by default config/node/api.yaml and lets a remote, unauthenticated client exhaust the node's memory and goroutines. Because the REST API runs IN-PROCESS with the node — network/api/api.go Start... ends with...
Klever-Go: /log controls global node logging
An unauthenticated client can connect to GET /log, send an arbitrary logger profile as the first WebSocket message, and mutate the node's global logging configuration before receiving live logs from the process. I confirmed this against a local validator built from this repository: an...
Mesop: Unauthenticated ANSI Escape Sequence Injection in CSP Reporting Endpoint
Summary The /csp endpoint accepts unauthenticated JSON reports and logs user-controlled values directly to stdout using print without escaping control characters. A remote attacker can include ANSI/VT100 escape sequences in fields such as blocked-uri or document-uri. When the logs are viewed in a...
OpenC3 COSMOS: Authenticated remote code execution via the user-writable config overlay (table definitions, cmd/tlm definitions, and script suites)
Summary COSMOS reads configuration from a user-writable overlay targetsmodified/ before the read-only plugin-installed targets/ tree, and the config subsystem executes code on those files: ConfigParser renders every file as ERB by default, a GENERICREADCONVERSION / GENERICWRITECONVERSION block is...
OpenC3 COSMOS: Authenticated OS command injection via the `pypi_url` setting
Summary An authenticated user can execute arbitrary operating system commands on the openc3-cosmos-cmd-tlm-api service. The pypiurl setting is interpolated, unescaped, into a command line that is run through a shell backtick when a plugin is installed. Shell metacharacters in the setting value ar...
Wire Swift runtime: negative LENGTH_DELIMITED length in skipGroup() crashes any protobuf-decoding service
Summary Wire's Swift runtime Wire SPM/CocoaPods product, implemented by wire-runtime-swift did not reject a negative LENGTHDELIMITED field length while skipping an unknown protobuf group. A crafted 10-byte protobuf payload could cause ProtoReader.skipGroup to read a length-delimited field whose...
Formie: Unauthenticated users can overwrite incomplete submissions via submit action
Impact The anonymous front-end action formie/submissions/submit SubmissionsController::actionSubmit trusted a client-supplied submissionId when loading an incomplete submission, with no session binding, ownership check, or edit token validation. An unauthenticated attacker could enumerate...
Formie: Integration form-settings action allows SSRF and exfiltration of stored integration credentials
Impact The control panel action formie/integrations/form-settings IntegrationsController::actionFormSettings was reachable by any authenticated user without the appropriate form integration permissions. The action applied request-supplied settings to a fully configured integration via...
Sulu: JCR-SQL2 injection via `categories` query parameter (unauthenticated)
Impact An unauthenticated JCR-SQL2 injection exists in the Smart Content category filter of the 2.x content query builder. Category IDs supplied through the public ?categories= query parameter are only trimmed and are then concatenated directly into a JCR-SQL2 WHERE clause, without the numeric...
JLine: ReDoS in Nano Editor Regex Search Mode
Summary When regex search mode is enabled in the JLine3 nano editor, the user-supplied search term is compiled directly as a Java regular expression with no timeout or backtracking bound. A crafted pattern such as a++b can hang the editor session thread at high CPU, causing a denial of service fo...
JLine: ReDoS in Built-in grep Command Amplified by Automatic `.*` Wrapping
Summary The JLine3 built-in grep command wraps the user-supplied regular expression with . before compiling it with Java's backtracking regex engine. This amplifies catastrophic backtracking and allows a short pattern such as a++b to hang the command thread on non-matching input. In environments...
9router: Mass assignment in PATCH /api/settings allows authenticated authorization downgrade
Summary The PATCH /api/settings endpoint writes the entire request body to persistent settings without a field whitelist. An authenticated user can set security-critical fields that are not meant to be modifiable here — notably requireLogin. Setting requireLogin: false disables authentication for...
9router: Kiro region injection allows authenticated SSRF with Authorization header forwarding
Summary The Kiro API-key validation endpoint builds an upstream URL using a user-controlled region value. By supplying a crafted region such as kiro-canary.local:8443, an authenticated attacker can cause 9router to send the Kiro validation request to an attacker-controlled host under the...
9router: Image prefetch DNS rebinding allows SSRF to internal services
Summary 9router validates image URLs by resolving the host before fetching, but the later server-side fetch performs a separate DNS resolution. An attacker-controlled DNS name can resolve to a public IP during validation and then rebind to an internal Docker/private IP during the fetch. This allo...
9router /v1 APIs has unauthenticated access via reverse proxy locality collapse
Summary 9router treats local loopback requests as trusted and allows access to /v1/ without an API key. In a documented/common reverse-proxy deployment where nginx forwards public traffic to the backend via 127.0.0.1, external non-Origin requests are misclassified as local. This allows...
JLine: ReDoS via `HISTORY_IGNORE` Configuration Variable
Summary The JLine3 HISTORYIGNORE variable is converted into a Java regular expression with only partial escaping. As a result, regex metacharacters other than and : are passed through to the regex engine. A crafted value such as a++b can cause catastrophic backtracking each time a command line is...
Moquette: Pattern-ACL wildcard injection (cross-tenant authorization bypass) plus a remote-unauthenticated DoS cluster, a Will-message authorization bypass, and a cross-session durable-corruption bug
moquette is reachable by untrusted MQTT clients anonymous by default, so every byte from any client, including pre-authentication, is untrusted. This is a memory-safe JVM: the ceiling is authorization/ACL bypass + denial of service + cross-session integrity, not RCE I did not find one and do not...