Katalog CVE

CVE-2026-86775

WysokieCVSS 8.6
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.49%

Percentyl 40 - wyżej niż 40% wszystkich znanych CVE

Streszczenie

Pakiet npm "knowns" w wersjach <= 0.29.1 zawiera podatność path traversal w Document API. Funkcja cleanDocPath() nie neutralizuje sekwencji ../, a doc_store.go buduje ścieżkę docelową bez weryfikacji, czy znajduje się ona w katalogu dokumentów. W domyślnej konfiguracji (Management API bez uwierzytelniania, nasłuchujące na wszystkich interfejsach) zdalny nieuwierzytelniony atakujący może odczytywać, tworzyć, nadpisywać lub usuwać dowolne pliki .md oraz tworzyć katalogi na hoście. Podatność naprawiono w wersji 0.30.0.

Ocena ryzyka

Atakujący może uzyskać dostęp do wrażliwych danych z dokumentacji innych projektów, zniszczyć pliki oraz wykorzystać prymityw zapisu do dalszej eskalacji w kierunku wykonania kodu. Ryzyko jest krytyczne, ponieważ eksploatacja nie wymaga uwierzytelnienia.

Rekomendacja

Natychmiast zaktualizuj pakiet "knowns" do wersji 0.30.0 lub nowszej. Ogranicz dostęp do Management API poprzez uwierzytelnianie i wiązanie tylko do zaufanych interfejsów.

Inne podatności w knowns

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

knowns (npm package) versions <= 0.29.1 contain a path traversal vulnerability in the Document API. The HTTP handler in internal/server/routes/docs.go normalizes the user-supplied document path with cleanDocPath(), which strips leading/trailing slashes and the .md suffix but does not neutralize ../ traversal sequences, and internal/storage/doc_store.go then builds the target path with filepath.Join(ds.docsDir(), filepath.FromSlash(doc.Path)+".md") without verifying that the resolved path remains inside the documents directory. In the default deployment, where the Management API is unauthenticated and bound to all interfaces, a remote unauthenticated attacker can supply a traversal payload (for example {"path": "../../../../tmp/knowns_pwn_marker"} to POST /api/docs, or an encoded path to GET /api/docs/...) to read, create, overwrite, or delete arbitrary files with a .md extension anywhere on the host filesystem and to create arbitrary directories via os.MkdirAll. This can expose sensitive data stored in other projects' documentation, corrupt or destroy files, and provide an arbitrary-write primitive that may be chained toward code execution. The issue is fixed in version 0.30.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS