Skip to content
OpenAdvisories

Ecosystem

crates.io

2,067 known vulnerabilities.

2,066 results · Feed

  • High 7.7

    SurrealDB before 3.1.5 Arbitrary File Read via DEFINE ANALYZER

    SurrealDB before 3.1.5 contains an arbitrary file read vulnerability in the DEFINE ANALYZER mapper filter that allows database users with EDITOR or OWNER roles to read files accessible to the SurrealDB process. Attackers can specify arbitrary file paths in th…

  • Medium 6.5

    SurrealDB before 3.1.4 Array Element Permission Bypass

    SurrealDB versions before 3.1.4 fail to properly enforce SELECT permissions on array elements (field.*) for record users, leaking denied array elements instead of hiding them. Attackers with record scope access can read array elements that element-level permi…

  • Medium 4.3

    SurrealDB 3.1.0 before 3.1.5 Field Permission Bypass via Traversal

    SurrealDB versions 3.1.0 before 3.1.5 fail to enforce field-level SELECT permissions when records are accessed through graph-edge or back-reference traversals. Attackers with table-level SELECT access can read field values hidden by field-level permissions by…

  • Medium 6.5

    SurrealDB before 3.1.5 Denial of Service via deep operator chains

    SurrealDB versions before 3.1.5 contain a denial of service vulnerability where authenticated users can crash the server with queries containing long chains of operators. Attackers can submit queries with tens of thousands of chained operators that create unb…

  • High 8.1

    SurrealDB before 3.2.0 Authentication Bypass via Custom API

    SurrealDB versions before 3.2.0 fail to validate namespace and database scope in custom API routes, allowing authenticated users to invoke endpoints in different namespaces/databases. Attackers with valid credentials for any namespace/database can access cust…

  • Medium 4.3

    SurrealDB before 3.2.0 Permissions Bypass via PERMISSIONS Clause

    SurrealDB versions before 3.2.0 contain a permissions bypass vulnerability where data-modifying statements within PERMISSIONS clauses execute with enforcement disabled. Attackers with permission to perform a guarded operation can write to tables they lack per…

  • Medium 5.8

    SurrealDB before 2.2.2 SSRF via HTTP Redirect Bypass

    SurrealDB before 2.2.2 fails to validate HTTP redirects in http functions, allowing authenticated users to bypass deny-net restrictions by redirecting to blocked IP addresses. Attackers can host a public server that redirects to denied network targets, enabli…

  • High 7.1

    SurrealDB before 2.2.2 CPU Exhaustion via nested FOR loops

    SurrealDB before 2.0.5, 2.1.x before 2.1.5, and 2.2.x before 2.2.2 allows authenticated users with OWNER or EDITOR permissions (at the root, namespace, or database level) to define custom database functions via DEFINE FUNCTION using nested FOR loops. Although…

  • Low 2.3

    SurrealDB before 2.2.2 Denial of Service via JavaScript Scripting

    SurrealDB before 2.0.5, 2.1.x before 2.1.5, and 2.2.x before 2.2.2 does not enforce a default execution-time limit on embedded JavaScript scripting functions when the scripting capability is explicitly enabled (via --allow-scripting or --allow-all). An authen…

  • High 7.1

    SurrealDB before 2.2.2 Memory Exhaustion via string::replace

    SurrealDB versions before 2.2.2 contain a memory exhaustion vulnerability in the string::replace function that fails to restrict resulting string length when using regex patterns. An authenticated attacker can craft a malicious query to exhaust server memory …

  • Low 2.3

    SurrealDB before 2.2.2 Local File Read via DEFINE ANALYZER

    SurrealDB versions before 2.2.2 contain a local file read vulnerability in the DEFINE ANALYZER statement that allows authenticated users to read arbitrary files on the file system. Attackers with root, namespace, or database level privileges can point analyze…

  • Medium 6.0

    SurrealDB before 2.2.2 Memory Exhaustion via Nested Functions

    SurrealDB before 2.2.2 with scripting enabled fails to properly enforce recursion limits when native functions contain embedded JavaScript that issues new queries. Authenticated attackers can bypass the recursion limit by chaining native and JavaScript functi…

  • Critical 9.4

    SurrealDB before 2.2.2 SurrealQL Injection via export

    SurrealDB before 2.0.5, 2.1.x before 2.1.5, and 2.2.x before 2.2.2 fails to properly escape table and field names in the command-line export command. An authenticated System User with OWNER or EDITOR roles can create tables or fields with malicious names cont…

  • Medium 5.8

    SurrealDB before 2.3.6 deny-net Bypass via DNS Resolution

    SurrealDB before 2.2.6, 2.3.6, and 2.1.8 (and 3.0.0-alpha.7 and earlier) fails to validate DNS-resolved hostnames against --deny-net network access restrictions in its http::* functions. An authenticated user can invoke http::<fn>(<url>) with a hostname that …

  • High 7.1

    SurrealDB before 2.2.2 Denial of Service via /sql endpoint

    SurrealDB versions before 2.2.2 contain an uncaught exception vulnerability in the net module that allows authenticated users to crash the database. Attackers can send crafted HTTP queries containing null bytes to the /sql endpoint, causing an unhandled excep…

  • Medium 6.5

    SurrealDB before 1.1.0 Uncontrolled Recursion Denial of Service

    SurrealDB versions before 1.1.0 fail to enforce recursion depth limits when parsing nested SurrealQL statements including IF, RELATE, and attribute access idioms. Authorized attackers can submit queries with excessive nesting depth to cause stack overflow and…

  • High 7.5

    SurrealDB before 1.1.0 Denial of Service via HTTP Headers

    SurrealDB versions before 1.1.0 fail to properly parse the ID, DB, and NS headers in HTTP REST API requests containing special characters. Unauthenticated attackers can send crafted HTTP requests with malformed header values to trigger an uncaught exception t…

  • Medium 6.5

    SurrealDB before 1.1.1 Denial of Service via Global Parameters

    SurrealDB versions before 1.1.1 fail to properly validate invocation of custom parameters and functions at root or namespace levels, causing server panic. Authorized clients can invoke these entities at unsupported levels to crash the SurrealDB server, result…

  • High 7.1

    SurrealDB before 2.0.4 Improper Authorization via SELECT Permissions

    SurrealDB versions before 2.0.4 fail to properly enforce field permissions during SELECT, UPDATE, and DELETE operations, allowing authorized users to access unauthorized field values through various query techniques. Attackers can exploit SELECT VALUE operati…

  • Medium 6.5

    SurrealDB before 1.2.0 Denial of Service via Nonexistent Function

    SurrealDB versions before 1.2.0 contain an uncaught exception vulnerability in the query executor when processing calls to nonexistent built-in functions. Authorized clients can craft pre-parsed queries invoking nonexistent functions to trigger a panic that c…

  • High 8.5

    SurrealDB before 1.1.1 Format String via Scripting Functions

    SurrealDB before 1.1.1 contains a format string vulnerability in the rquickjs Exception::throw_type function when scripting is enabled. Attackers with scripting privileges can supply format string sequences in error inputs to read arbitrary memory or execute …

  • Medium 6.5

    SurrealDB before 1.2.1 Denial of Service via Parsing Error

    SurrealDB versions before 1.2.1 contain an uncaught exception handling vulnerability in span rendering when parsing queries with errors on line terminator characters. Authorized clients can submit malformed queries that trigger a panic in the span rendering c…

  • Medium 6.3

    SurrealDB before 1.5.4 Authentication Bypass via Database Switch

    SurrealDB before 1.5.4 and 2.0.0-alpha.1 before 2.0.0-alpha.6 fails to properly validate authentication when a scope user switches databases using the USE clause or use method. Attackers with an authenticated session can impersonate an unrelated user in a dif…

  • High 8.8

    SurrealDB before 1.5.5 Query Injection via RPC API

    SurrealDB before 1.5.5 (and 2.0.0-beta before 2.0.0-beta.3) accepts an arbitrary object in the signin and signup operations of the RPC API without recursively validating it for non-computed values. When a record access method defines a SIGNIN or SIGNUP query …

  • Medium 6.5

    SurrealDB before 2.0.4 Denial of Service via Parser Exception

    SurrealDB versions before 2.0.4 contain an uncaught exception handling vulnerability in the parser error rendering code when processing empty strings. Authorized clients can execute malformed queries with empty string conversions to record, duration, or datet…

  • Medium 4.9

    SurrealDB before 2.1.0 Denial of Service via Nonexistent Role

    SurrealDB versions before 2.1.0 contain a denial of service vulnerability in role conversion that allows privileged owner users to define users with nonexistent roles. Attackers can trigger an uncaught panic by signing in with a user assigned an invalid role,…

  • Medium 6.5

    SurrealDB before 2.1.0 Denial of Service via rand() Sorting

    SurrealDB versions before 2.1.0 contain a denial of service vulnerability in the sorting mechanism when using ORDER BY rand() clause. Authorized clients can execute queries with ORDER BY rand() to trigger a panic in the sorting function, crashing the server.

  • Medium 6.5

    SurrealDB before 2.1.0 Denial of Service via rand::time()

    SurrealDB versions before 2.1.0 contain an uncaught exception vulnerability in the rand::time() function that panics when unwrap is called on a None result from timestamp_opt. Authorized clients can repeatedly invoke rand::time() to reliably trigger server pa…

  • High 8.8

    SurrealDB before 1.0.1 Insecure Default Table Permissions

    SurrealDB before 1.0.1 sets default table permissions to FULL instead of NONE, allowing SELECT, CREATE, UPDATE, and DELETE operations on tables without explicit permissions. Attackers with database access or unauthenticated users on publicly exposed instances…

  • Low 2.3

    SurrealDB before 2.1.4 Permission Bypass via DEFINE TABLE OVERWRITE

    SurrealDB before 2.1.4 silently fails to overwrite table definitions when the DEFINE TABLE ... OVERWRITE clause is used on tables defined with TYPE RELATION. Because table definitions include the PERMISSIONS clause, an attempt to tighten a table's permissions…

  • Medium 5.1

    rust-openssl: Potential out-of-bounds write in `CipherCtxRef::cipher_update_inplace` for AES-KW-PAD ciphers

    rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.10.50 until 0.10.80, CipherCtxRef::cipher_update_inplace in openssl/src/cipher_ctx.rs incorrectly sized output buffers when used with AES key-wrap-with-padding ciphers EVP_aes_{1…

  • Medium 5.3

    OpenTelemetry Rust: Unbounded memory allocation in W3C Baggage propagation

    OpenTelemetry Rust is the Rust OpenTelemetry implementation. In 0.32.0 and earlier, BaggagePropagator::extract_with_context in opentelemetry_sdk did not enforce W3C Baggage size limits before parsing an inbound baggage header, so a large attacker-controlled h…

  • Low 2.0

    RustCrypto Cmov/CmovEq on aarch64 can produce wrong results if high-bits of registers are set

    RustCrypto CMOV provides conditional move CPU intrinsics which are guaranteed on major platforms to execute in constant-time and not be rewritten as branches by the compiler. From 0.1.1 until 0.5.4, the aarch64 implementations of Cmov and CmovEq in cmov/src/b…

  • Critical 9.3

    Missing copy constraint in halo2_gadgets variable-base scalar multiplication allows under-constrained base, breaking Orchard Action circuit soundness

    ZEBRA is a Zcash node written entirely in Rust. Prior to zebrad 5.0.0, halo2_gadgets 0.5.0, orchard 0.14.0, zcash_primitives 0.28.0, and zcashd 6.20.0, the variable-base scalar multiplication gadget in halo2_gadgets/src/ecc/chip/mul/incomplete.rs used assign_…

  • Medium 4.3

    SurrealDB < 3.1.5 Information Disclosure via ORDER BY

    SurrealDB before 3.1.5 fail to apply field-level SELECT permissions to ORDER BY clauses, allowing authenticated users to leak the relative ordering of restricted field values. Attackers can issue ORDER BY queries on indexed restricted fields to recover the hi…

  • Medium —

    Diesel has possible use after free when deserializing a SQLite database via `SqliteConnection::deserialize_readonly_database`

    Diesel allows loading a SQLite database from a byte buffer, represented as `&[u8]`, at runtime via the `SqliteConnection::deserialize_readonly_database` function. In previous versions of Diesel, this buffer was passed directly to libsqlite3. Since libsqlite3 …

  • Medium 6.3

    Buffa: Memory Exhaustion Denial of Service in decode_unknown_field via Unbounded Allocation

    Buffa is a pure-Rust Protocol Buffers implementation with first-class protobuf editions support. Prior to 0.8.0, the decode_unknown_field function in buffa's protobuf decoder allocated heap memory in proportion to untrusted input (unknown fields in the serial…

  • Medium 5.9

    Buffa: Use-After-Free in OwnedView via Unsound 'static Lifetime Promotion in Deref

    Buffa is a pure-Rust Protocol Buffers implementation with first-class protobuf editions support. Prior to 0.7.0, a soundness bug in the OwnedView<V> type allowed safe Rust code to trigger a use-after-free: the OwnedView::decode constructor transmuted a borrow…

  • High 7.5

    Prompty: Arbitrary File Read via ${file:path} Reference Expansion

    Prompty is a markdown file format (.prompty) for LLM prompts. Prior to 2.0.0-beta.2, Prompty loaders expanded ${file:...} references in .prompty frontmatter without enforcing that resolved paths stayed within the prompt directory or allowed roots, allowing an…

  • Medium —

    serde_with: KeyValueMap serialization panics on empty sequence or map entries

    ### Summary The public `KeyValueMap` serializer assumes that each mapped element has at least one field or item to use as the map key, but it subtracts `1` from the caller-visible length before validating that assumption. An application that serializes attack…