#DownloadURL
Blink: Intent to Prototype: Extend the DownloadURL drag type to support multiple files
Blink: Intent to Prototype: Extend the DownloadURL drag type to support multiple files
Blink: Intent to Prototype: Extend the DownloadURL drag type to support multiple files
groups.google.com
August 20, 2025 at 11:36 PM
people are reporting that disabling page visibility api to fix twitch metrics is breaking functionality they need for other sites. someone posted this tampermonkey script as a fix - i just changed the @match line to https://*.twitch.tv/* like so. not sure if it works?

greasyfork.org/en/scripts/4...
March 15, 2026 at 1:51 PM
CVE-2026-64626 - AVideo Encoder downloadURL SSRF via unpinned retry fallback
CVE ID : CVE-2026-64626

Published : July 20, 2026, 10:17 p.m. | 3 hours, 27 minutes ago

Description : AVideo versions from commit 0dbadbca through latest master contain a server-side request for...
CVE-2026-64626 - AVideo Encoder downloadURL SSRF via unpinned retry fallback
AVideo versions from commit 0dbadbca through latest master contain a server-side request forgery vulnerability in the encoder download-by-URL flow due to an unpinned retry fallback that bypasses DNS pinning validation. An authenticated attacker can supply a downloadURL that redirects to an internal address, causing the unpinned retry to follow the …
cvefeed.io
July 21, 2026 at 2:24 AM
tnmaccess.nationalmap.gov/api/v1/produ...

(haven't touched this in a while, this is what codex says):

It requests dataset Digital Elevation Model (DEM) 1 meter with prodFormats=GeoTIFF, then downloads the returned downloadURL GeoTIFF/COG files via geotiff.fromUrl().
tnmaccess.nationalmap.gov
June 3, 2026 at 12:50 AM
No I mean the facility has been there forever, it's just surfaced in the UI now.

And see, how I suspected it's even using exactly that same getRepo API call, by adding 'download' attribute it forces browser to treat response as download rather than navigation.
February 15, 2024 at 8:43 PM
I'm doing it again...

$missingFolders, $incompleteFolders | Sort-Object -Unique |% { $mod_list[$_] } | downloadURL '1.21.1';

...I'm automating it even more.
May 15, 2025 at 5:43 PM
CVE-2026-39370 - WWBN AVideo has an Allowlisted downloadURL media extensions bypass SSRF protection and enable internal response exfiltration (Incomplete fix for CVE-2026-27732)
CVE ID : CVE-2026-39370

Published : April 7, 2026, 7:26 p.m. | 29 minutes ago

Description : W...
CVE-2026-39370 - WWBN AVideo has an Allowlisted downloadURL media extensions bypass SSRF protection and enable internal response exfiltration (Incomplete fix for CVE-2026-27732)
WWBN AVideo is an open source video platform. In versions 26.0 and prior, objects/aVideoEncoder.json.php still allows attacker-controlled downloadURL values with common media or archive extensions such as .mp4, .mp3, .zip, .jpg, .png, .gif, and .webm to bypass SSRF validation. The server then fetches the response and stores it as media …
cvefeed.io
April 7, 2026 at 8:30 PM
CVE-2026-33717 - AVideo Vulnerable to Remote Code Execution via Persistent PHP Temp File in Encoder downloadURL with Resolution Validation Abort
CVE ID : CVE-2026-33717

Published : March 23, 2026, 7:16 p.m. | 35 minutes ago

Description : WWBN AVideo is an open source vid...
CVE-2026-33717 - AVideo Vulnerable to Remote Code Execution via Persistent PHP Temp File in Encoder downloadURL with Resolution Validation Abort
WWBN AVideo is an open source video platform. In versions up to and including 26.0, the `downloadVideoFromDownloadURL()` function in `objects/aVideoEncoder.json.php` saves remote content to a web-accessible temporary directory using the original URL's filename and extension (including `.php`). By providing an invalid `resolution` parameter, an attacker triggers an early `die()` via …
cvefeed.io
March 23, 2026 at 8:09 PM
CVE-2026-27732 - AVideo has Authenticated Server-Side Request Forgery via downloadURL in aVideoEncoder.json.php
CVE ID : CVE-2026-27732

Published : Feb. 24, 2026, 3:21 p.m. | 1 hour, 26 minutes ago

Description : WWBN AVideo is an open source video platform. Prior to vers...
CVE-2026-27732 - AVideo has Authenticated Server-Side Request Forgery via downloadURL in aVideoEncoder.json.php
WWBN AVideo is an open source video platform. Prior to version 22.0, the `aVideoEncoder.json.php` API endpoint accepts a `downloadURL` parameter and fetches the referenced resource server-side without proper validation or an allow-list. This allows authenticated users to trigger server-side requests to arbitrary URLs (including internal network endpoints). An authenticated attacker …
cvefeed.io
February 24, 2026 at 5:06 PM
CVE-2025-45872 - "zrlog SSRF"
CVE ID : CVE-2025-45872

Published : July 1, 2025, 2:15 p.m. | 2 hours, 30 minutes ago

Description : zrlog v3.1.5 was discovered to contain a Server-Side Request Forgery (SSRF) via the downloadUrl parameter.

Severity: 0.0 | NA

Visit the ...
CVE-2025-45872 - "zrlog SSRF"
zrlog v3.1.5 was discovered to contain a Server-Side Request Forgery (SSRF) via the downloadUrl parameter.
cvefeed.io
July 1, 2025 at 4:55 PM
「自荐」油猴插件 📝 GoodNote - 网页笔记助手
方便安装,这里是源码。 // ==UserScript== // @name GoodNote - 网页笔记助手 // @namespace http://tampermonkey.net/ // @version 0.3.1 // @description 在任何网页添加笔记功能 // @author kasusa // @license MIT // @match *://*/* // @grant none // @downloadURL https://update.greasyfork.org/scripts/526070/GoodNote%20-%20%E7%BD%91%E9%A1%B5%E7%AC%94%E8%AE%B0%E5%8A%A9%E6%89%8B.user.js // @updateURL https://update.greasyfork.org/scripts/526070/GoodNote%20-%20%E7%BD%91%E9%A1%B5%E7%AC%94%E8%AE%B0%E5%8A%A9%E6%89%8B.meta.js // ==/UserScript== (function() { 'use strict'; // 创建样式 const style = document.createElement('style'); style.textContent = ` .note-icon { /* 背景颜色 */ background-color: #000; border: 1px solid #fff; /* 圆角 */ border-radius: 10px; /* 固定位置 */ position: fixed; /* 默认位置 */ top: 20px; right: 20px; /* 大小 */ width: 40px; height: 40px; cursor: move; z-index: 9999; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 5px rgba(0,0,0,0.2); transition: 0.1s ease; user-select: none; will-change: transform; transform: translate3d(0, 0, 0); opacity: 1; } .note-icon:hover { transform: scale(1); } .note-icon:active { transform: scale(0.9); } .note-icon svg { width: 24px; height: 24px; fill: white; } .note-container { border: 1px solid #fff; position: fixed; background: ; backdrop-filter: blur(10px); border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); z-index: 9998; padding: 10px; transition: all 0.3s ease; opacity: 0; transform-origin: center; } .note-container.active { opacity: 1; transform: scale(1); } .note-textarea { min-height: 250px; border: 1px solid #ddd; border-radius: 4px; padding: 12px; font-size: 14px; resize: all; font-family: Arial, sans-serif; line-height: 1.5; min-width: 350px; } .note-textarea:focus { outline: none; border-color: #fff; } .note-icon::after { content: 'Ctrl+Shift+M'; position: absolute; background: rgba(0, 0, 0, 0.8); color: white; padding: 5px 8px; border-radius: 4px; font-size: 12px; white-space: nowrap; right: 100%; top: 50%; transform: translateY(-50%); margin-right: 10px; opacity: 0; transition: opacity 0.2s; pointer-events: none; } .note-icon:hover::after { opacity: 1; } `; document.head.appendChild(style); // 创建笔记图标 const noteIcon = document.createElement('div'); noteIcon.className = 'note-icon'; // 根据平台设置不同的快捷键提示 const isMac = /Mac|iPod|iPhone|iPad/.test(navigator.platform); noteIcon.setAttribute('data-shortcut', isMac ? '⌘+Shift+M' : 'Ctrl+Shift+M'); // 修改样式内容,使用动态快捷键文本 const shortcutText = isMac ? '⌘+Shift+M' : 'Ctrl+Shift+M'; style.textContent = style.textContent.replace( '.note-icon::after { content: \'Ctrl+Shift+M\';', `.note-icon::after { content: '${shortcutText}';` ); noteIcon.innerHTML = ` <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <path d="M14,10H19.5L14,4.5V10M5,3H15L21,9V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3M5,12V14H19V12H5M5,16V18H14V16H5Z"/> </svg> `; // 创建笔记容器 const noteContainer = document.createElement('div'); noteContainer.className = 'note-container'; // 创建文本框 const textarea = document.createElement('textarea'); textarea.className = 'note-textarea'; textarea.placeholder = '在这里输入你的笔记...'; noteContainer.appendChild(textarea); // 添加到页面 document.body.appendChild(noteIcon); document.body.appendChild(noteContainer); // 获取当前域名作为存储键 const storageKey = `goodnote_${window.location.hostname}`; const positionKey = `goodnote_position_${window.location.hostname}`; // 从localStorage加载笔记 const savedNote = localStorage.getItem(storageKey); if (savedNote) { textarea.value = savedNote; } // 实现拖拽功能 let isDragging = false; let currentX; let currentY; let initialX; let initialY; let xOffset = 0; let yOffset = 0; let rafId = null; noteIcon.addEventListener('mousedown', dragStart); document.addEventListener('mousemove', drag); document.addEventListener('mouseup', dragEnd); function dragStart(e) { if (e.target === noteIcon || noteIcon.contains(e.target)) { isDragging = true; const rect = noteIcon.getBoundingClientRect(); initialX = e.clientX - rect.left; initialY = e.clientY - rect.top; } } function drag(e) { if (isDragging) { e.preventDefault(); if (rafId) { cancelAnimationFrame(rafId); } rafId = requestAnimationFrame(() => { const newX = e.clientX - initialX; const newY = e.clientY - initialY; currentX = Math.min(Math.max(0, newX), window.innerWidth - noteIcon.offsetWidth); currentY = Math.min(Math.max(0, newY), window.innerHeight - noteIcon.offsetHeight); setTranslate(currentX, currentY); }); } } function setTranslate(xPos, yPos) { const threshold = 20; // 贴边触发的阈值 const iconWidth = noteIcon.offsetWidth; const iconHeight = noteIcon.offsetHeight; // 计算图标中心点到边缘的距离 const distanceToLeft = xPos; const distanceToRight = window.innerWidth - (xPos + iconWidth); const distanceToTop = yPos; const distanceToBottom = window.innerHeight - (yPos + iconHeight); // 设置初始透明度 noteIcon.style.opacity = '1'; // 检查是否接近边缘 if (distanceToLeft < threshold) { xPos = -iconWidth * 0.8; } else if (distanceToRight < threshold) { xPos = window.innerWidth - iconWidth * 0.2; } if (distanceToTop < threshold) { yPos = -iconHeight * 0.8; } else if (distanceToBottom < threshold) { yPos = window.innerHeight - iconHeight * 0.2; } noteIcon.style.left = `${xPos}px`; noteIcon.style.top = `${yPos}px`; noteIcon.style.right = 'auto'; noteIcon.style.bottom = 'auto'; } function dragEnd(e) { if (isDragging) { isDragging = false; localStorage.setItem(positionKey, JSON.stringify({ top: noteIcon.style.top, left: noteIcon.style.left })); if (rafId) { cancelAnimationFrame(rafId); } } } // 加载保存的位置 const savedPosition = localStorage.getItem(positionKey); if (savedPosition) { try { const { top, left } = JSON.parse(savedPosition); setTranslate(parseInt(left), parseInt(top)); } catch (e) { console.error('Failed to load saved position'); } } // 修改笔记显示逻辑 noteContainer.style.position = 'fixed'; let isVisible = false; // 添加切换笔记显示的函数 function toggleNote() { isVisible = !isVisible; if (isVisible) { const iconRect = noteIcon.getBoundingClientRect(); const windowWidth = window.innerWidth; const windowHeight = window.innerHeight; const noteHeight = 300; // 预估笔记窗口高度 const padding = 10; // 边距 let left = iconRect.right - padding; let top = Math.max(padding, iconRect.top); // 检查水平方向是否超出 if (left + 400 > windowWidth) { left = iconRect.left - 360; } // 确保left不会小于padding left = Math.max(padding, left); // 确保容器完全在可视区域内 if (top + noteHeight > windowHeight) { top = windowHeight - noteHeight - padding; } // 确保top不会小于padding top = Math.max(padding, top); noteContainer.style.top = `${top}px`; noteContainer.style.left = `${left}px`; noteContainer.style.display = 'block'; requestAnimationFrame(() => { noteContainer.classList.add('active'); // 添加一个短暂延时确保过渡动画开始后再聚焦 setTimeout(() => { textarea.focus(); }, 50); }); } else { noteContainer.classList.remove('active'); setTimeout(() => { noteContainer.style.display = 'none'; }, 300); } } // 添加快捷键监听 document.addEventListener('keydown', (e) => { // 检查是否是 Mac const isMac = /Mac|iPod|iPhone|iPad/.test(navigator.platform); if ((isMac && e.metaKey || !isMac && e.ctrlKey) && e.shiftKey && e.key.toLowerCase() === 'm') { e.preventDefault(); // 阻止默认行为 toggleNote(); } }); noteIcon.addEventListener('click', (e) => { if (!isDragging) { toggleNote(); } }); // 修改点击其他地方关闭笔记的逻辑 document.addEventListener('click', (e) => { if (!noteContainer.contains(e.target) && !noteIcon.contains(e.target) && isVisible) { isVisible = false; noteContainer.classList.remove('active'); setTimeout(() => { noteContainer.style.display = 'none'; }, 300); } }); // 自动保存功能 let saveTimeout; textarea.addEventListener('input', () => { clearTimeout(saveTimeout); saveTimeout = setTimeout(() => { localStorage.setItem(storageKey, textarea.value); }, 500); // 延迟500ms保存,避免频繁保存 }); // 添加鼠标悬停时显示图标 noteIcon.addEventListener('mouseenter', () => { const currentLeft = parseInt(noteIcon.style.left); const currentTop = parseInt(noteIcon.style.top); if (currentLeft < 0) { noteIcon.style.left = '0px'; } else if (currentLeft > window.innerWidth - noteIcon.offsetWidth) { noteIcon.style.left = (window.innerWidth - noteIcon.offsetWidth) + 'px'; } if (currentTop < 0) { noteIcon.style.top = '0px'; } else if (currentTop > window.innerHeight - noteIcon.offsetHeight) { noteIcon.style.top = (window.innerHeight - noteIcon.offsetHeight) + 'px'; } noteIcon.style.opacity = '1'; }); // 添加鼠标离开时隐藏图标 noteIcon.addEventListener('mouseleave', () => { if (!isDragging) { const currentLeft = parseInt(noteIcon.style.left); const currentTop = parseInt(noteIcon.style.top); const threshold = 20; if (currentLeft <= threshold || currentLeft >= window.innerWidth - noteIcon.offsetWidth - threshold || currentTop <= threshold || currentTop >= window.innerHeight - noteIcon.offsetHeight - threshold) { setTranslate(currentLeft, currentTop); } } }); })();
meta.appinn.net
February 8, 2025 at 3:53 AM
📌 CVE-2026-30933 - FileBrowser Quantum is a free, self-hosted, web-based file manager. Prior to 1.3.1-beta and 1.2.2-stable, the remediation for CVE-2026-27611 is incomp... https://www.cyberhub.blog/cves/CVE-2026-30933
CVE-2026-30933
🛡 <b>CVE-2026-30933</b> <b>CVSS:</b> 7.5 — <b>High</b> <b>Status:</b> Analyzed <b>Source:</b> security-advisories@github.com FileBrowser Quantum is a free, self-hosted, web-based file manager. Prior to 1.3.1-beta and 1.2.2-stable, the remediation for CVE-2026-27611 is incomplete. Password protected shares still disclose tokenized downloadURL via /public/api/share/info. This vulnerability is fixed in 1.3.1-beta and 1.2.2-stable. 🔗 <b>References</b> • <a href="https://github.com/gtsteffaniak/filebrowser/releases/tag/v1.2.2-stable">https://github.com/gtsteffaniak/filebrowser/releases/tag/v1.2.2-stable</a> • <a href="https://github.com/gtsteffaniak/filebrowser/releases/tag/v1.3.1-beta">https://github.com/gtsteffaniak/filebrowser/releases/tag/v1.3.1-beta</a> • <a href="https://github.com/gtsteffaniak/filebrowser/security/advisories/GHSA-525j-95gf-766f">https://github.com/gtsteffaniak/filebrowser/security/advisories/GHSA-525j-95gf-766f</a> 📅 Mar 10, 2026
www.cyberhub.blog
March 18, 2026 at 6:20 PM
Habe etwas im Datenportal der EU nachgesehen. Dabei habe ich zufällig einen Blick auf die Metadatenqualität eines unserer Datensätze geworfen. Excellent 😀

Nun muss ich nur noch herausfinden, warum die Kontaktinformation nicht richtig ankommen […]

[Original post on norden.social]
June 25, 2026 at 5:46 AM
🚨 EUVD-2026-19886
📊 7.1/10
🏢 WWBN

📝 WWBN AVideo is an open source video platform. In versions 26.0 and prior, objects/aVideoEncoder.json.php still allows attacker-controlled downloadURL values ...

🔗 https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-19886

#cybersecurity #infosec #cve #euvd
April 7, 2026 at 8:02 PM
🚨 EUVD-2026-8527
📊 8.6/10
🏢 WWBN

📝 WWBN AVideo is an open source video platform. Prior to version 22.0, the `aVideoEncoder.json.php` API endpoint accepts a `downloadURL` parameter and fetches th...

🔗 https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-8527

#cybersecurity #infosec #cve #euvd
February 25, 2026 at 10:27 AM
ID: CVE-2024-7743
CVSS V4.0: MEDIUM
A vulnerability was found in wanglongcn ltcms 1.0.20. It has been declared as critical. Affected by this vulnerability is the function downloadUrl of the file /api/file/downloadUrl of the component API Endpoint. The manipulation...
#security #infosec #cve-alert
nvd.nist.gov
August 13, 2024 at 9:15 PM
Chrome's undocumented DownloadURL API for drag-and-drop file downloads [dt.in.th]

https://link.webring.in.th/2794
September 21, 2025 at 3:34 AM