This content is an interview-style article profiling Corey Thuen, a hacker and CEO of Gravwell, discussing his philosophy on hacking, the concept of the 'evil bit' as an adversarial mindset, and his career path including work in cybersecurity and open source tools development. It does not describe a specific security vulnerability or threat.
Indurex, an Amsterdam-based industrial cybersecurity company, has raised $8 million to fund research and development and expand its commercial operations in Europe and the Middle East. The company develops the SafeGuard AI platform, which analyzes data from industrial control systems and safety instruments to identify anomalies and configuration changes that may require operator attention. Indurex aims to address gaps in conventional operational technology (OT) security tools by integrating engineering, process, safety, and cybersecurity data for better contextual alert assessment. The funding will support expansion into additional markets including the United States and Asia-Pacific.
LiteLLM version 1.107.0 was compromised in a supply chain attack affecting PyPI packages and Docker images. The malicious release includes Python startup files that execute automatically, stealing cloud credentials, private keys, browser data, and AI development tool authentication tokens. The attack used a lookalike repository in the release workflow and targets credentials for AWS, Azure, Google Cloud, GitHub CLI, SSH keys, npm/PyPI, and AI tools such as Claude, Gemini, and Cursor. Stolen data is encrypted and sent to a command-and-control server. A loader enables remote Python code execution. The package has approximately 23 million weekly downloads, indicating a significant potential impact.
Nuxt is an open-source web development framework for Vue.js. From 3.13.0 until 4.6.2, the server-island renderer serializes raw useHeadSafe entry input into the island response without preserving the safe-input marker, and NuxtIsland later inserts that input into the page head as an ordinary entry. An application that passes attacker-controlled data to useHeadSafe in a .server.vue component or page, or in a component rendered through NuxtIsland, can therefore render values normally removed by the allowlist, including event-handler attributes or executable script content, resulting in stored cross-site scripting in the application origin. This issue is fixed in version 4.6.2 .
Nuxt is an open-source web development framework for Vue.js. Prior to 4.6.0, an incomplete fix for CVE-2026-53722 allows an application with pages disabled to render a script-capable URL through NuxtLink when attacker-controlled input bound to to is prefixed with an ASCII C0 control character. The no-pages router classifies the value as an internal route before the earlier protocol check and passes it to the rendered anchor href; browsers remove the leading control character and interpret the remaining javascript: URL. The default anchor and NuxtLink custom output are affected, the unsafe href is present in server-rendered HTML, and a victim must click the link for script to execute in the application's origin. This issue is fixed in version 4.6.0.
A path traversal vulnerability (CWE-22) in Storybook development server versions from 8.0.0 up to but not including 8.6.19, 9.0.0 up to 9.1.21, 10.0.0 up to 10.6.2, and 11.0.0-alpha.0 up to 11.0.0-alpha.6 allows an attacker on the local network to obtain the WebSocket authentication token. This token can be used to invoke file-writing or testing functionality, potentially leading to code execution if the Vitest addon is installed with an old Vitest version. The issue is fixed in versions 8.6.19, 9.1.21, 10.6.2, and 11.0.0-alpha.6.
CVE-2026-114125 is a code injection vulnerability in Storybook, a frontend UI component development tool. Versions from 8.0.0 up to but not including 8.6.19, 9.0.0 up to 9.1.21, 10.0.0 up to 10.6.2, and 11.0.0-alpha.0 up to 11.0.0-alpha.6 are affected. The flaw allows a malicious website to interact with the preview iframe of a running Storybook development server due to insufficient iframe embedding and message-origin restrictions. An attacker can cause unauthorized changes to story files if a developer visits and interacts with the malicious site, potentially leading to arbitrary code execution with the developer's privileges when the modified files are executed locally. Fixed versions include 8.6.19, 9.1.21, 10.6.2, and 11.0.0-alpha.6.
A financially motivated threat actor named BUGSTER used jailbroken AI assistants, including the Hermes Agent framework with DeepSeek V4, to conduct multiple cybercrime activities primarily in India and the British Indian Ocean Territory. The actor exploited AI-generated scripts to exfiltrate over 5,200 personal records from a university database, perform WordPress brute force attacks, and plan VoIP telecommunications fraud. Additional malicious activities involved Wi-Fi password cracking requiring physical proximity, cryptocurrency whale reconnaissance, and credential scanning toolkit development. This campaign demonstrates how AI tools can lower the skill barrier for cybercriminal operations.
CVE-2026-91413 is a vulnerability in Oracle Siebel CRM Development's Integration - Scripting component affecting versions 17.0 through 26.9. It allows a high privileged attacker with network access via CORBA to cause denial of service by hanging or crashing the application, and to gain unauthorized read and write access to some accessible data. The vulnerability has a CVSS 3.1 base score of 6.0, indicating medium severity with impacts on confidentiality, integrity, and availability. Oracle has included this vulnerability in its October 2026 Critical Patch Update advisory, which contains numerous patches across Oracle products. However, no specific patch link or fixed version is provided for this vulnerability in the available data.
CVE-2026-101454 is a vulnerability in Oracle Siebel CRM Development's Configuration Tools component affecting versions 17.0 through 26.9. It allows a low privileged attacker with logon access to the infrastructure where Siebel CRM Development runs to compromise the product. Successful exploitation can lead to unauthorized creation, deletion, or modification of critical or accessible data, as well as unauthorized read access to some data. The CVSS 3.1 base score is 6.1, indicating a medium severity vulnerability with impacts on confidentiality and integrity but no impact on availability.
Vitest, a Vite-native testing framework for JavaScript and TypeScript, contains a code injection vulnerability in versions from 2.1.0-beta.7 up to but not including 4.1.12 and from 5.0.0 up to but not including 5.0.3. An unauthenticated non-browser WebSocket client can exploit this by registering a manual mock with an attacker-controlled URL that is inserted unescaped into generated module source. This leads to execution of attacker-controlled JavaScript on the development server origin when the developer's browser loads the module. The issue is fixed in versions 4.1.12 and 5.0.3.
CVE-2026-112947 is a path traversal vulnerability in the Vite development server that allows an attacker to retrieve the first 4 bytes of arbitrary files on disk by sending a request with the query parameter '?vite-wasm-instance'. This occurs because the internal Wasm plugin's load hook reads files without applying server.fs access restrictions. The vulnerability affects Vite versions >=0.2.8 <1.1.0, >=8.2.0 <8.2.4, and >=8.3.0 <8.3.3. It only impacts applications that expose the Vite dev server to the network, run on Node.js or Deno, and have sensitive information in the first 4 bytes of a file. The issue is fixed in versions 1.1.0, 8.2.4, and 8.3.3.
CVE-2026-112945 is a cross-site scripting (XSS) vulnerability in the Vite frontend tooling framework affecting versions prior to 6.4.4, 7.3.7, 8.1.6, 8.2.4, and 8.3.3. The flaw arises when applications using custom middleware pass an unchanged browser request URL to server.transformIndexHtml, allowing attacker-controlled module execution via crafted development-server pages. This can expose sensitive data or permit critical actions in the affected application. The issue has been fixed in the specified versions.
This article discusses the security challenges posed by the adoption of agentic AI in software development. It highlights that rapid AI adoption without maturity and governance increases security risks, especially as AI agents become more autonomous. The piece outlines a three-phase, eight-stage AI Adoption Model that helps organizations understand their AI maturity and associated risks. It emphasizes the need for governance, developer upskilling, and observability to manage AI-driven security risks effectively. Most organizations are currently in early to mid-stages of AI adoption, making it critical to implement security controls and education programs now to prevent escalating risks as AI capabilities grow.
OVHcloud's open-source CLI tool was compromised on GitHub, with attacker-modified versions 0.11.0 through 0.15.0 containing malware designed to steal developer secrets. The compromise occurred via a hijacked developer GitHub account, allowing malicious releases to be published without CI/CD pipeline interference. The incident was detected and blocked within hours, and OVHcloud has enabled GitHub's release immutability feature to prevent recurrence. Users who downloaded affected versions are urged to revoke all secrets and perform system cleanup. The attack is linked to the GlassWorm threat actor group, known for targeting software development ecosystems. Source builds and Docker images were unaffected.
## Summary
A small attacker-supplied TIFF can be opened and loaded normally, then reach an out-of-bounds read when an application saves it back to TIFF with retained metadata. The fixed reproducer is a 1×1, 16-bit grayscale, PackBits-compressed TIFF containing tag 320 (ColorMap) with **768 SHORT values**: three zero-filled planes of 256 entries each. No Python object is forged and no metadata is injected after loading.
Pillow's TIFF encoder allocates **768 × 2 = 1536 bytes**, then passes three plane pointers separated by 256 SHORT entries to libtiff. With `BitsPerSample = 16`, libtiff instead expects **65536 SHORT values per plane** and attempts a **131072-byte read** from a plane pointer. Existing ASAN observations identify a heap-buffer-overflow READ crossing the 1536-byte allocation made in `PyImaging_LibTiffEncoderNew`.
The malformed ColorMap need not be a valid palette for this grayscale image. The issue is that accepted metadata is forwarded on save without reconciling the fixed plane extent with the effective sample depth. Opening/loading alone is not the demonstrated fault; the encoder path is required.
## Impact and prerequisites
An application must accept the input, retain the relevant TIFF metadata, and invoke the libtiff-backed TIFF save path. The observed consequence is an out-of-bounds read and ASAN termination. Process-memory exposure during encoding is a potential consequence, **not demonstrated by extracting arbitrary heap contents in this report**. No arbitrary read primitive, full memory-disclosure chain, code execution, address-space bypass, or cross-process effect is claimed.
The 131072-byte attempted copy is not the number of bytes proven disclosed. This report does not run a synthetic-canary serializer or collect an unsanitized encoded output.
## Tested environment and limits of the evidence
The existing observations were recorded on August 30, 2026, with **CPython 3.11.8 on macOS ARM64**, using the unmodified official **Pillow 12.3.0** wheel and its bundled **libtiff 4.7.1**:
- Wheel: `pillow-12.3.0-cp311-cp311-macosx_11_0_arm64.whl`
- Wheel size: `4785266` bytes
- Wheel SHA-256: `37d6d0a00072fd2948eb22bce7e1475f34569d90c87c59f7a2ec59541b77f7a6`
- Pillow source revision: `bb1d8e8ab8d29048624d96e3ee53cecf7c13d13d`
- Bundled libtiff SHA-256: `e8988717b7470394a47d5ccd343130796b24ee70b6d885d3818e0e0b53238be1`
Apple's ASAN runtime was injected at process startup. This is **not an ASAN-rebuilt Pillow wheel**; allocation/memcpy interception detects the reported boundary violation, but the wheel's native instructions are not comprehensively instrumented.
Only this concrete full-package environment is established here. No affected-version range, current development-branch result, or patched release is asserted. Severity is **Unknown**; no CVSS score is proposed.
Separate earlier evidence reached the original Pillow 8.0.1 encoder constructor compiled as a component against a modern Python/libtiff environment. **That was not a complete Pillow 8.0.1 installation** and does not establish the historical package's full runtime behavior. It is not part of this reproducer or an affected-version range.
## Observed evidence and controls
The earlier integration harness performed the natural sequence `Image.open(BytesIO(input))`, `image.load()`, then `image.save(BytesIO(), format="TIFF")`, without replacing the image's metadata. Each case was recorded three times:
| Original fixture | Bytes | Recorded result |
| --- | ---: | --- |
| `colormap16` | 1685 | Loaded as `I;16`; save terminated with ASAN exit 86, READ of size 131072 crossing a 1536-byte heap region (3/3). |
| `colormap8` | 1684 | Same fixed ColorMap, but 8-bit samples; save succeeded and retained SHORT/count 768 (3/3). |
| `colormap_absent` | 137 | Same 16-bit geometry without ColorMap; save succeeded (3/3). |
Address-free summary of the recorded native diagnostic:
```text
AddressSanitizer: heap-buffer-overflow
READ of size 131072
0 bytes after 1536-byte region
Copy path: memcpy -> _TIFFmemcpy -> setByteArray -> _TIFFsetShortArrayExt
-> _TIFFVSetField -> TIFFVSetField -> ImagingLibTiffSetField
-> PyImaging_LibTiffEncoderNew
Allocation: calloc -> PyImaging_LibTiffEncoderNew
```
Input SHA-256 values (also enforced inside the script):
- `colormap16`: `5f38e0ead90b97949fb0c98c63f9c68d00ba9181db6631ecb8927376dcc75f4d`
- `colormap8`: `fdb26d9135549ed44824901985086c5ee4f06515699ca3291e498c523935405c`
- `colormap_absent`: `bd54979624f3ffb713342e0458caff9e17c477f940cda2f0960feebfabbc9556`
## Root cause and source references
- [Pillow `src/encode.c`, lines 870–899, pinned revision](https://github.com/python-pillow/Pillow/blob/bb1d8e8ab8d29048624d96e3ee53cecf7c13d13d/src/encode.c#L870): the ColorMap tuple must contain exactly 768 entries; a 1536-byte allocation is passed with a fixed stride of 256. The check does not reconcile that extent with `BitsPerSample`.
- [Pillow `src/PIL/TiffImagePlugin.py`, lines 1944–19
Bulletin ID: 2026-045-AWS Scope: AWS Content Type: Important (requires attention) Publication Date: 06/15/2026 11:45 AM PDT Description: Kiro IDE is an agentic development environment that makes it easy for developers to ship real engineering work with the help of AI agents. We identified CVE-2026-11931, where incorrect default permissions in Kiro IDE on macOS and Linux before version 0.11.133 could expose the authentication token cache file to other local users or processes via world-readable permissions (0644) instead of owner-restricted permissions (0600). Impacted versions: < 0.11.133 Please refer to the article below for the most up-to-date and complete information related to this AWS Security Bulletin.
Improper Certificate Validation vulnerability in Apache Camel Knative component.
This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.
When SSL was enabled on the Knative HTTP client but no truststore was configured, the client options fell back to trusting every presented certificate rather than to the JVM's default trust anchors. A deployment that switched TLS on without also configuring a truststore therefore obtained an encrypted connection with no peer authentication, which an attacker positioned on the network path can terminate and read. The dangerous state is reached by omission rather than by an explicit opt-in, which is what makes it a framework defect: turning TLS on should not be the thing that turns certificate validation off.
Upgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. Users on the 4.22.x LTS releases stream should upgrade to 4.22.1. With no truststore configured the trust options are now left unset so the JVM default trust anchors apply, the same fallback SSLContextParameters and the rest of Camel use. Trusting every certificate is now reached only by asking for it explicitly through the trust.all property, which remains available for development against a cluster with a self-signed certificate. For deployments that cannot upgrade immediately, configure a truststore explicitly wherever SSL is enabled. After upgrading, a deployment that was relying on the implicit trust-all behaviour must either configure a truststore or set the trust.all property deliberately.
This content discusses the development of a phishing URL detector focused on identifying phishing attempts based solely on URL text analysis. The detector achieves about 90% detection on unseen phishing URLs but struggles with false positives and phishing hosted on compromised legitimate sites. It highlights challenges such as phishing URLs hosted on trusted domains like docs.google.com and the difficulty of blocking such domains outright. The tool is open source and intended as a learning resource rather than an active threat report.
An unauthenticated remote attacker may use an allocation of resources without limits or throttling weakness in the affected product to cause high CPU load leading to a denial of service.