35598 matches found
Grav: 2FA Bypass via 'login.regenerate2FASecret' - Secret Rotation During Pending Challenge
Summary When 2FA is enabled on an account, submitting correct credentials authenticates the user but leaves them unauthorized pending TOTP verification. During this pending-challenge window, the login.regenerate2FASecret task which requires only $user-exists, not $user-authorized can be called...
Omnigent: Unvalidated os_env.cwd in agent bundle yields arbitrary host filesystem access on runners without OMNIGENT_RUNNER_WORKSPACE
Summary An authenticated, non-admin user can obtain arbitrary host-filesystem read/write and host environment-secret disclosure on an Omnigent runner by uploading an agent bundle whose osenv.cwd points outside any intended workspace e.g. / or /home/. The cwd field is taken verbatim from the bundl...
Omnigent: Shared Agent Bundle Overwrite Leads to Authenticated Runner RCE
Summary An authenticated user with edit access to their own session can overwrite a shared/template agent by uploading a full agent bundle through PUT /sessions/sessionid/agent. Shared/template agents are shown as not MCP-editable, but this upload path still accepts a replacement bundle. By addin...
Omnigent: Uploaded Agent Bundle Allows Authenticated Runner RCE via Python Callable Tools
Summary An authenticated user can upload a crafted agent bundle that defines a server-side Python callable tool. The server validates the uploaded bundle, but it does not block dangerous callable: paths in untrusted user-provided agent configs. When the tool is invoked, the runner imports and...
Grav: Twig sandbox config exfiltration via grav.offsetGet + dump filter (CVE-2026-44738 bypass)
Summary The Twig content sandbox replaces config with the redacted SandboxConfig facade and strips Config::get/toArray from the method allowlist GHSA-j274-39qw-32c9, so editor content can't read config secrets via config. That's bypassable: grav is the raw container, offsetget is allow-listed on...
Grav: Decompression Bomb via ZipArchiver - Missing Extraction Limits
Summary ZipArchiver::extract lacks limits on uncompressed size, file count, and nesting depth, creating a distinct, unpatched variant of the GHSA-2vcx-h8p2-9pg9 zip bomb vulnerability. While the parallel method Installer::unZip received comprehensive limits, ZipArchiver::extract remains...
link-preview-js DNS Rebinding SSRF Bypass / Incomplete Fix for CVE-2026-43897
The existing advisory GHSA-4gp8-rjrq-ch6q / CVE-2026-43897 states that the SSRF issue was fixed in 4.0.1. However, 4.0.3 remains bypassable when the documented resolveDNSHost mitigation is used. Root cause: The library validates one resolved IP address through resolveDNSHost, but later performs...
fast-uri vulnerable to host confusion via skipped IDN canonicalization on scheme-relative references
Impact fast-uri canonicalizes a host to its ASCII form only when the input carries an explicit scheme. When resolve resolves a scheme-relative reference //host/ against a scheme-bearing base, it still emits the host verbatim even though the effective scheme is known, so re-parsing the resolved UR...
fast-uri vulnerable to server-side request forgery via malformed IPv6 normalization
Impact fast-uri does not validate the complete RFC 3986 grammar for bracketed IPv6 literals, so a malformed literal with invalid trailing text is silently truncated to a different valid IPv6 address with no error reported. For example, normalize'http://::not-valid/private' returns...
fast-uri vulnerable to server-side request forgery via repeated hostname percent-decoding
Impact fast-uri decodes a hostname's percent escapes twice in a single normalize or resolve call: once during parsing and again during authority recomposition. A nested percent-encoded host therefore survives the first decode and is turned into a live destination by the second, so...
fast-uri vulnerable to host confusion via percent-encoded scheme normalization
Impact fast-uri decodes percent-encoded characters in the scheme component with the legacy global unescape and serializes the result back as raw characters, without re-escaping it or validating it as a scheme. A scheme that decodes to characters outside the RFC 3986 scheme grammar can therefore...
NLTK: Default ENFORCE=False Disables All pathsec Security Controls
NLTK's pathsec.py security module defaults to ENFORCE=False line 24, which means all 8 security validation functions only emit RuntimeWarning instead of raising exceptions when violations are detected. The pathsec module was introduced as the fix for CVE-2024-39705 arbitrary code execution via...
NLTK: SSRF Fail-Open in validate_network_url() via DNS Resolution Failure
There is an SSRF vulnerability in NLTK 3.9.4's network URL validation. The validatenetworkurl function in nltk/pathsec.py fails open when DNS resolution returns an error. The resolvehostname helper at lines 193-234 catches OSError and ValueError during socket.getaddrinfo and returns an empty list...
xmldom: XML fragment injection via invalid EntityReference.nodeName during requireWellFormed serialization
Summary An EntityReference node can be created with an invalid, attacker-controlled name through Document.createEntityReferencename. When this node is serialized directly with: js serializer.serializeToStringref, requireWellFormed: true the invalid nodeName is emitted into the serialized XML...
Mistune: Denial of Service — RecursionError via Excessive Emphasis Markers in Markdown
Summary Mistune v3.3.2 is vulnerable to a Denial of Service DoS attack via uncontrolled recursion in the HTML rendering of deeply-nested emphasis tokens. By submitting Markdown containing approximately 1,000 consecutive asterisk characters, an attacker causes the Python process to crash with...
fastify vulnerable to X-Forwarded-* spoofing under trustProxy hop-count
Impact The fix for CVE-2026-3635 GHSA-444r-cwp2-x5xf added a proxyFnsocket.remoteAddress, 0 guard on the X-Forwarded- reads in request.host, request.protocol, request.hostname, request.ip, and request.ips. That guard closes the IP, CIDR, and custom-function forms of trustProxy correctly because...
fastify vulnerable to schema validation bypass via root primitive coercion mismatch
Impact fastify before 5.12.1, when a route uses a root-level primitive body schema for example an integer with a minimum and maximum and the default type coercion, validates the coerced value but exposes the original, uncoerced value to the route handler. For example, a JSON body "10" is coerced ...
ApostropheCMS: 2nd-order prototype pollution via PATCH leading to single-request persistent DoS
The vulnerability is a single-request persistent DoS by submitting e.g. "PATCH /api/v1/article/" with a valid editor session and body of "toString.call":"x", overwriting the global toString function with value x. Fabian...
Sulu: Stored XSS via media download inline-disposition override
Impact Stored Cross Site Scripting XSS in the media download endpoint. The download route /media/id/download/slug and its admin variant accepts the query parameter ?inline=1. When it is present, the response is sent with the header Content-Disposition: inline for any MIME type, which overrides th...
Sulu: Fix authorization bypass when creating preview links
Impact A missing authorization check on the preview link endpoint lets a backend user create a public, unauthenticated preview URL for content they are not allowed to see. PreviewLinkController and the underlying PreviewLinkManager::generate / revoke never enforced a permission on the target...
Sulu: Media move/update authorization bypass (IDOR)
Impact A media move authorization bypass IDOR lets a backend user move a media out of a collection they have no access to. The media move endpoint resolves its permission check from the collection value in the request rather than from the media's real collection. MediaManager::move then reassigns...
ApostropheCMS: Arbitrary file read via import-export attachment-name path traversal
Summary The @apostrophecms/import-export module reconstructs the on-disk source path of every imported attachment from JSON metadata contained in the uploaded archive. The archive carries an aposAttachments.json file whose name and extension fields are concatenated into a filesystem path with no...
Kirby: Access to image files outside of the site root via path traversal in the media handling
TL;DR This vulnerability affects all Kirby sites that are deployed in a way that their index root on the server is next to a second directory that is read-accessible to PHP and shares the same name prefix such as the site with the index root /var/www/site being next to /var/www/site2. It was...
Orval: Generation-time SSRF + remote/local file inclusion via unrestricted $ref
Summary Orval resolves OpenAPI $refs by fetching remote https URLs and reading local files including absolute / out-of-tree paths, inlining the referenced schema into the generated client. Running orval on a spec whose $ref points at an attacker/internal URL or an arbitrary local file yields SSRF...
Orval: Import-time RCE via query-parameter default -> zod module-level template literal
Summary Orval's zod schema generation emits the query-parameter default value as a module-level template literal export const …Default = ; without escaping $ or the backtick. A default of the form v$w injects a live JavaScript expression evaluated when the generated zod schema module is imported,...
Orval: Import-time RCE via schema property name -> computed-property-key injection in the zod client
Summary orval's zod client emits each schema property name as a double-quoted key in the generated zod.object... WITHOUT escaping the double quote. A " in a property name closes the key and lands in object-literal context, where an injected computed property key expr is evaluated when zod.object...
CKAN MCP Server: MQA server allowlist bypass via unanchored regex (`isValidMqaServer`)
Summary The ckangetmqaquality and ckangetmqaqualitydetails tools restrict their serverurl argument to dati.gov.it via a regular expression. The regex is anchored only at the start and places no boundary after the host, so any URL whose host merely begins with dati.gov.it — or that uses dati.gov.i...
SeaweedFS: Unauthenticated filer IAM gRPC service grants S3 administrative control
Impact The filer registered the IAM gRPC service SeaweedIdentityAccessManagement with no authentication. Any client able to reach the filer gRPC port could invoke IAM RPCs — CreateUser, CreateAccessKey, PutUserPolicy, and related calls — to mint credentials and grant itself S3 administrative...
Grav: Remote code execution via unrestricted callable in Blueprint::dynamicData()
Summary An account with the admin.pages permission or api.pages.write can run shell commands on the server. The command executes whenever anyone — including an unauthenticated visitor — opens the page. Details Blueprint::dynamicData system/src/Grav/Common/Data/Blueprint.php:426 passes a...
qs array-limit bypass via bracket-key comma parsing
Summary qs v6.15.3 allows bracket-key input to bypass arrayLimit and throwOnLimitExceeded when comma: true. The input a=1,2,3,4 succeeds with arrayLimit: 3, while the equivalent plain-key input is rejected. Affected version tested: text qs v6.15.3 commit 18d085e919dae70c8f1b200ab99323058edab2c2...
qs: Denial of Service via Attacker Controlled isBuffer
Summary qs.stringify calls utils.isBuffer on every value it serializes, and utils.isBuffer invokes obj.constructor.isBufferobj without checking that it is callable. A value whose own constructor.isBuffer is a non-function makes qs call a non-callable and throw TypeError. Such a value is produced ...
Tiptap: mergeAttributes() turns an own __proto__ key into inherited executable DOM attributes
Summary @tiptap/core's public mergeAttributes helper uses ordinary bracket assignment on keys returned by Object.entries. An own proto key from JSON therefore invokes the legacy prototype setter on the fresh merged object. The function returns an object whose prototype is attacker-controlled, whi...
EasyAdmin custom-action dispatcher bypasses access_control on other routes
Summary EasyAdmin serves all backend requests through a single dashboard route and, for custom actions Action::linkToRoute / MenuItem::linkToRoute, swaps the executed controller based on the routeName query parameter on the kernel.controller event. That swap happens after Symfony's security...
Livewire DOM-based cross-site scripting during client-side state handling
Impact In Livewire v3 ≤ 3.8.2 and v4 ≤ 4.3.3, a vulnerability allows unauthenticated attackers to execute arbitrary JavaScript in the origin of an affected application in specific scenarios. The issue stems from how certain client-side component state is handled. This vulnerability does not affec...
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
Summary Tornado parses application/x-www-form-urlencoded bodies with urllib.parse.parseqs and does not pass maxnumfields. A body made almost entirely of separators produces tens of millions of fields, and the parse happens on the event loop before the handler runs, so a single request stalls the...
Banks: Path traversal in `DirectoryPromptRegistry.set()` allows arbitrary file write outside the registry root
Summary DirectoryPromptRegistry.set interpolates the attacker-controllable Prompt.name into a Path expression with no canonicalization. An application that derives the prompt name from request data lets a caller write attacker-controlled bytes outside the configured registry directory. Details...
pypdf: Inefficient handling of non-whitespace inputs in read_until_whitespace
Impact An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires a call to readuntilwhitespace with an input which does not have whitespace for a long time. Patches This has been fixed in pypdf==6.15.0. Workarounds If you cannot upgrade yet, consider...
elFinder: ZIP extraction bypasses uploadDeny MIME filter allowing PHP file upload (RCE)
Summary elFinder provides uploadDeny and uploadAllow options in its connector configuration to restrict which MIME types may be uploaded. When uploadDeny includes text/x-php, direct upload of .php, .phtml, and .phar files is correctly blocked. However, the extract command ZIP decompression...
elFinder: CSRF in netmount allows forced FTP mounts and server-side FTP connections
Summary The PHP connector's CSRF gate protects many mutating commands, but it does not protect the netmount connector command. In the shipped minimal connector setup, FTP network mounting is enabled by default, so a cross-site request can force an elFinder instance to mount an attacker-chosen FTP...
pnpm: Virtual store linker path traversal via unvalidated depPath name in lockfileToDepGraph
Summary The virtual store linker constructs package installation directories using path.joinmodules, pkgName where pkgName is extracted from lockfile packages keys via dp.parsedepPath.name without validation. A crafted pnpm-lock.yaml with traversal sequences in depPath keys e.g.,...
pnpm: A tarball dependency's manifest `name` escapes node_modules → arbitrary file write/overwrite on install
Summary When resolving a package, pnpm uses the resolved manifest name as a raw path segment for the isolated-linker import target. A tarball dependency whose package.json name is a scoped path traversal @x/../../…/ is therefore extracted outside nodemodules, to an attacker-chosen absolute path,...
NLTK: Quadratic-time DoS in PorterStemmer via long runs of 'y'
nltk.stem.PorterStemmer.stem -- a ubiquitous public API applied to arbitrary, often untrusted, tokens -- runs in On^2 time on a token containing a long run of the letter 'y', letting a single 20-50 KB token pin a CPU core CWE-407. Root cause isconsonantword, i was made iterative commit for 3633,...
NLTK: Downloader.download follows hardlinks and overwrites outside-root files
Summary NLTK's downloader now blocks symlink escapes during ZIP extraction, but it still treats pre-existing hardlinks inside the install tree as ordinary in-root files. A normal package install can therefore overwrite an outside-root inode through that hardlink. Details - Vulnerability type:...
NLTK: Model-artifact APIs bypass pathsec and touch files outside allowed roots
Summary Several model-artifact APIs still treat caller-controlled model paths as ordinary filenames even when NLTK path security is enforced. The same outside-root paths are rejected by guarded helpers, but these public read and write flows still use raw file APIs. Details - Vulnerability type:...
NLTK: Quadratic CPU Exhaustion in `XMLCorpusView._read_xml_fragment()`
Summary XMLCorpusView.readxmlfragment reads a corpus file in 1 KiB blocks, appending each block to a growing fragment string, then calls VALIDXMLRE.matchfragment on the full accumulated buffer every iteration. Because each iteration rescans the entire accumulated fragment, the total amount of wor...
NLTK: Uncontrolled resource consumption in RecursiveDescentParser via ambiguous or left-recursive grammars
nltk.parse.RecursiveDescentParser and SteppingRecursiveDescentParser enumerate parses top-down with no bound on the number of recursive steps. A small, crafted context-free grammar makes a short input consume unbounded CPU and/or exhaust the Python recursion stack, pinning a process indefinitely ...
NLTK: Uncontrolled recursion in nltk.featstruct.FeatStructReader causes unhandled RecursionError (DoS) via deeply nested feature-structure input
Summary nltk.featstruct.FeatStructReader used by FeatStructstr and by FeatureGrammar.fromstring parses feature-structure strings such as a=1 with a recursive-descent parser that has no nesting-depth limit. A small, trivially-crafted input 700 bytes with deeply nested brackets drives the parser pa...
ImageMagick: Memory Leak when providing invalid options to the cli
A memory leak is possible when invalid options are passed to the cli magick...
humanfs: Recursive copy follows symlinked files and copies data from outside the source tree
Summary @humanfs/node does not treat symlinks as a separate case during copy operations. A symlink placed inside an attacker-controlled source tree can make copyAll read and copy the contents of any file readable by the process, even when that file is outside the directory being copied. Details T...
Faker: helpers.fake exploitable into arbritary code execution
Summary faker.helpers.fake can be tricked into arbritary code execution. Details fakeEval.resolveProperty resolves properties on functions itself instead of resolving the nested function first. This can be addressed by recursively calling resolveProperty instead of accessing the property after on...