14.9 C
New York
Monday, March 31, 2025
Home Blog Page 5

Actual time audio processing iOS


I am making an attempt to get sound from the microphone, course of the sound with some perform after which output the processed sound to the audio system.
I want to have the ability to course of buffers of 1024 samples. however for now I get solely uneven sound. theres a greater approach to course of sound then utilizing set up faucet for actual time processing?

on this code instance I haven’t got any processing however I nonetheless get uneven sounds.

    personal func setupAudioEngine() {
        do {
            let audioSession = AVAudioSession.sharedInstance()
            strive audioSession.setCategory(.playAndRecord, mode: .default, choices: [.defaultToSpeaker, .allowBluetooth])
            strive audioSession.setActive(true)
        } catch {
            errorMessage = "Didn't arrange audio session: (error.localizedDescription)"
            print(errorMessage ?? "")
            return
        }
        
        // Get the enter format
        let inputNode = audioEngine.inputNode
        let inputFormat = inputNode.outputFormat(forBus: 0)
        
        // Connect nodes
        audioEngine.connect(mixerNode)
        audioEngine.connect(playerNode)
        
        // Set mixer format to match enter
        mixerNode.outputFormat(forBus: 0)
        
        // Join enter to mixer
        audioEngine.join(inputNode, to: mixerNode, format: nil)
        
        // Join mixer to output
        audioEngine.join(mixerNode, to: audioEngine.mainMixerNode, format: nil)
        
        // Join participant to mixer (not on to output)
        audioEngine.join(playerNode, to: audioEngine.outputNode, format: nil)
        
        let format = AVAudioFormat(
            standardFormatWithSampleRate: inputFormat.sampleRate,
            channels: 2
        )
        
        // Set up faucet on mixer node to course of audio
        inputNode.installTap(onBus: 0, bufferSize: 1024, format: format) { [weak self] (buffer, audioTime) in
            self!.scheduleProcessedBuffer(buffer)
        }
        
        // Put together the engine earlier than beginning
        audioEngine.put together()
    }
    
    
    personal func scheduleProcessedBuffer(_ buffer: AVAudioPCMBuffer) {
        if playerNode.isPlaying {
            playerNode.scheduleBuffer(buffer, at: nil, choices: .interrupts) {
                // Non-compulsory: Callback when buffer finishes enjoying
            }
        }
    }

RESURGE Malware Exploits Ivanti Flaw with Rootkit and Net Shell Options

0


Mar 30, 2025Ravie LakshmananVulnerability / Zero-Day

RESURGE Malware Exploits Ivanti Flaw with Rootkit and Net Shell Options

The U.S. Cybersecurity and Infrastructure Safety Company (CISA) has make clear a brand new malware known as RESURGE that has been deployed as a part of exploitation exercise focusing on a now-patched safety flaw in Ivanti Join Safe (ICS) home equipment.

“RESURGE incorporates capabilities of the SPAWNCHIMERA malware variant, together with surviving reboots; nevertheless, RESURGE incorporates distinctive instructions that alter its conduct,” the company stated. “The file incorporates capabilities of a rootkit, dropper, backdoor, bootkit, proxy, and tunneler.”

The safety vulnerability related to the deployment of the malware is CVE-2025-0282, a stack-based buffer overflow vulnerability affecting Ivanti Join Safe, Coverage Safe, and ZTA Gateways that might lead to distant code execution.

Cybersecurity

It impacts the next variations –

  • Ivanti Join Safe earlier than model 22.7R2.5
  • Ivanti Coverage Safe earlier than model 22.7R1.2, and
  • Ivanti Neurons for ZTA gateways earlier than model 22.7R2.3

Based on Google-owned Mandiant, CVE-2025-0282 has been weaponized to ship what’s known as the SPAWN ecosystem of malware, comprising a number of elements similar to SPAWNANT, SPAWNMOLE, and SPAWNSNAIL. Using SPAWN has been attributed to a China-nexus espionage group dubbed UNC5337.

Final month, JPCERT/CC revealed that it noticed the safety defect getting used to ship an up to date model of SPAWN often called SPAWNCHIMERA, which mixes all of the aforementioned disparate modules into one monolithic malware, whereas additionally incorporating adjustments to facilitate inter-process communication through UNIX area sockets.

Most notably, the revised variant harbored a function to patch CVE-2025-0282 in order to stop different malicious actors from exploiting it for his or her campaigns.

RESURGE (“libdsupgrade.so”), per CISA, is an enchancment over SPAWNCHIMERA with help for 3 new instructions –

  • Insert itself into “ld.so.preload,” arrange an online shell, manipulate integrity checks, and modify recordsdata
  • Allow using internet shells for credential harvesting, account creation, password resets, and privilege escalation
  • Copy the online shell to the Ivanti operating boot disk and manipulate the operating coreboot picture

CISA stated it additionally unearthed two different artifacts from an unspecified vital infrastructure entity’s ICS system: A variant of SPAWNSLOTH (“liblogblock.so”) contained inside RESURGE and a bespoke 64-bit Linux ELF binary (“dsmain”).

Cybersecurity

“The [SPAWNSLOTH variant] tampers with the Ivanti system logs,” it stated. “The third file is a customized embedded binary that incorporates an open-source shell script and a subset of applets from the open-source software BusyBox. The open-source shell script permits for the flexibility to extract an uncompressed kernel picture (vmlinux) from a compromised kernel picture.”

It is price noting that CVE-2025-0282 has additionally been exploited as a zero-day by one other China-linked risk group tracked as Silk Storm (previously Hafnium), Microsoft disclosed earlier this month.

The most recent findings point out that the risk actors behind the malware are actively refining and transforming their tradecraft, making it crucial that organizations patch their Ivanti situations to the most recent model.

As additional mitigation, it is suggested to reset credentials of privileged and non-privileged accounts, rotate passwords for all area customers and all native accounts, assessment entry insurance policies to quickly revoke privileges for affected units, reset related account credentials or entry keys, and monitor accounts for indicators of anomalous exercise.

Discovered this text fascinating? Observe us on Twitter and LinkedIn to learn extra unique content material we put up.



Uruguay EV Gross sales Report: 300% Progress in a File February Brings BEV Market Share over 15%



Join each day information updates from CleanTechnica on electronic mail. Or comply with us on Google Information!


Uruguay has constantly been the second most superior nation in Latin America so far as electrification goes, and it has at occasions competed with Costa Rica for #1. Being a really small market (with fewer than 100,000 car gross sales a yr), it’s topic to excessive seasonal variability and, as such, its market patterns are tougher to find out than these of Mexico, and even Colombia and Peru.

That is why final June we noticed an enormous improve in EV gross sales that introduced Uruguay to the forefront of the transition and put it forward of a lot of the world, at 15% market share. However within the following months, it grew to become clear this month had been an outlier, and Uruguay went again to its extra “regular” market share, steadily rising from 7% to 10% via 2024’s second semester.

However we’re now in 2025 and Uruguay is as soon as once more exhibiting robust progress and indicators that, hopefully, this time round, BEV gross sales will continue to grow from right here.

Market Overview

Uruguay’s official knowledge doesn’t report PHEVs: it merges all hybrids in the identical class. Nonetheless, it’s telling that even together with HEVs and MHEVs, BEVs greater than double hybrid car gross sales. Uruguay, as Costa Rica, is a market closely skewed in direction of BEVs.

Whole car gross sales usually hover round 6,000 models a month, which means the practically 900 BEV gross sales in February had been greater than sufficient to get Uruguay over 10% market share. That is an all-time excessive BEV file, surpassing December’s prior file regardless of decrease total gross sales:

Market share was 15.4% in February, up from 10% in January and 12.1% in December. The final time we noticed a market share over 15%, in June 2024, it was a transparent outlier (as seen within the following graph), however market share saved rising constantly and has sustained ranges above 10% over the last 4 months. The 15.4% from February could also be a big improve, but it surely doesn’t look like an anomaly:

Uruguay stays the realm of BYD, however its market share has eroded from 75% in June 2024 to 60% in February. Far behind it are Dongfeng (a troubled Chinese language model which can be bought by Changan), JMC, and Chery. Solely two non-Chinese language manufacturers, Hyundai and BMW, made it into the highest 10 this month:

Mannequin-wise, BYD obtained gold, silver, and one other two spots within the high 10, which appears the realm of city-cars and hatchbacks: the BYD Seagull, the Dongfeng Nammi, the JMC EV3, the JAC E-S3, the Geometry E, and the BYD E2 (Dolphin) make a really specific rating the place, for as soon as, SUVs don’t dominate. Nonetheless, the 2 BYD Yuan (Professional and Plus), the Chery EQ7, and the Hyundai Kona make appearances for SUVs. And no matter occurred to sedans?

Yr thus far, the state of affairs could be very comparable, however Volvo is not current within the high 10, with GWM taking its place. BYD maintains 60% market share:

Mannequin-wise, the JMEV EV3 is changed by the Faw Bestune NAT. In any other case, the contributors are the identical in several order. Although, the BYD Yuan Professional stays the undisputed chief:

Closing ideas

I’ve already talked about Uruguay’s hyper-expensive gasoline (round USD$7 per gallon), one thing that undoubtedly has served to prop up EV adoption. The nation can be reliant on inexpensive wind power, the surplus of which is bought to Brazil (which additionally sells electrical energy when Uruguay requires it), so it has the means to supply electrical energy to its rising EV fleet.

Not a lot else is happening on this nation. Although, it bears mentioning that Good (one other Chinese language-bought European model) is arriving quickly in Uruguay. In early 2024, Uruguay nonetheless had comparatively low EV gross sales, so progress this yr has been astronomical (246% yr thus far), however that is clearly going to gradual as adoption will increase. Nonetheless, I’m wondering how lengthy till Uruguay reaches 50% BEV market share. For a very long time, my prediction for the three leaders (Costa Rica, Uruguay, and Colombia) has been “earlier than 2030.” Now, I’m questioning if maybe we are able to begin bringing that date nearer.

2029? 2028? What do you guys assume?

Whether or not you will have solar energy or not, please full our newest solar energy survey.



Chip in just a few {dollars} a month to assist assist unbiased cleantech protection that helps to speed up the cleantech revolution!


Have a tip for CleanTechnica? Need to promote? Need to counsel a visitor for our CleanTech Speak podcast? Contact us right here.


Join our each day e-newsletter for 15 new cleantech tales a day. Or join our weekly one if each day is simply too frequent.


Commercial



 


CleanTechnica makes use of affiliate hyperlinks. See our coverage right here.

CleanTechnica’s Remark Coverage




New Safety Flaws Present in VMware Instruments and CrushFTP — Excessive Danger, PoC Launched

0


Mar 26, 2025Ravie LakshmananVulnerability / Information Safety

New Safety Flaws Present in VMware Instruments and CrushFTP — Excessive Danger, PoC Launched

Broadcom has issued safety patches to deal with a high-severity safety flaw in VMware Instruments for Home windows that might result in an authentication bypass.

Tracked as CVE-2025-22230, the vulnerability is rated 7.8 on the ten-point Frequent Vulnerability Scoring System (CVSS).

“VMware Instruments for Home windows comprises an authentication bypass vulnerability because of improper entry management,” Broadcom stated in an alert issued Tuesday. “A malicious actor with non-administrative privileges on a Home windows visitor VM might achieve the flexibility to carry out sure high-privilege operations inside that VM.”

Credited with discovering and reporting the flaw is Sergey Bliznyuk of Russian cybersecurity firm Constructive Applied sciences.

Cybersecurity

CVE-2025-22230 impacts VMware Instruments for Home windows variations 11.x.x and 12.x.x. It has been mounted in model 12.5.1. There aren’t any workarounds that tackle the problem.

CrushFTP Discloses New Flaw

The event comes as CrushFTP has warned clients of an “unauthenticated HTTP(S) port entry” vulnerability affecting CrushFTP variations 10 and 11. It has but to be assigned a CVE identifier.

“This difficulty impacts CrushFTP v10/v11 however doesn’t work if in case you have the DMZ operate of CrushFTP in place,” the corporate stated. “The vulnerability was responsibly disclosed, it’s not getting used actively within the wild that we all know of, no additional particulars might be given at the moment.”

In line with particulars shared by cybersecurity firm Rapid7, profitable exploitation of the vulnerability might result in unauthenticated entry through an uncovered HTTP(S) port.

With safety flaws in VMware and CrushFTP beforehand exploited by malicious actors, it is important that customers transfer rapidly to use the updates as quickly as attainable.

Replace

The vulnerability impacting CrushFTP has been assigned the CVE identifier CVE-2025-2825. It carries a CVSS rating of 9.8 out of 10, indicating vital severity.

“CrushFTP variations 10.0.0 by 10.8.3 and 11.0.0 by 11.3.0 are affected by a vulnerability that will end in unauthenticated entry,” in keeping with an advisory for the flaw. “Distant and unauthenticated HTTP requests to CrushFTP might permit attackers to achieve unauthorized entry.”

ProjectDiscovery, in a technical write-up, stated the vulnerability resides in a part that handles the flexibility to make use of Amazon S3 because the backend file system. “The vulnerability exists within the loginCheckHeaderAuth() technique of ServerSessionHTTP.java, which processes HTTP requests with S3-style authorization headers,” it stated.

Particularly, the problem has to do with a setting known as “lookup_user_pass” that is set to true by default when processing S3 authentication headers if the username does not include a tilde character (~).

This enables unauthenticated attackers to bypass authentication and achieve unauthorized entry, totally bypassing signature and password validation steps designed to make sure the request is genuine. A proof-of-concept (PoC) exploit has been launched for CVE-2025-2825, making it important that customers apply the newest repair.

“Exploiting this vulnerability is easy,” ProjectDiscovery stated. “An attacker solely must craft an HTTP request with: 1) An AWS S3-style authorization header with a sound username. 2) A CrushAuth cookie with matching c2f parameter values.”

(The story was up to date after publication to incorporate particulars of the CVE identifier and the PoC.)

Discovered this text attention-grabbing? Comply with us on Twitter and LinkedIn to learn extra unique content material we publish.



ios – SwiftUI Menu in Checklist solely the Textual content is tappable


I count on that UIKit may allow you to management the place of the menu extra exactly, however, sadly, you do not have a lot management with SwiftUI. I’m guessing, the Reminders app shouldn’t be applied utilizing SwiftUI.

For the case proven within the first block of code, you may improve the tappable space by making use of a body to the menu label and setting a content material form. That is just like what you had been doing within the potential answer you confirmed within the query. It may be carried out with out an HStack:

Menu {
    // ... buttons, as earlier than
} label: {
    Textual content("Add Query")
        .foregroundStyle(Coloration.white)
        .background(Coloration.black)
        .body(maxWidth: .infinity, alignment: .main)
        .contentShape(Rectangle())
}

Nevertheless, while you faucet the row, the menu all the time aligns to the center of the row, even while you faucet on the textual content (as you additionally defined within the query):

screenshot

Listed here are some potential workarounds, none of that are excellent, however they may assist:


1. Experiment with minWidth

In my exams on an iPhone 16 simulator, the purpose at which it switches from left-alignment to center-alignment is when the width of the label is larger than about 273 factors. That is about two-thirds of the display screen width on an iPhone 16, nevertheless it may be totally different on different units. So if the body on the label is modified from maxWidth: .infinity to, say, minWidth: 270, this provides a bigger hit space with the menu nonetheless left-aligned. Nevertheless, the hit space won’t embrace the trailing space on the suitable of the row.

Textual content("Add Query")
    .foregroundStyle(Coloration.white)
    .background(Coloration.black)
    .body(minWidth: 270, alignment: .main) // 👈 modified
    .contentShape(Rectangle())

2. Offset the label with padding to compensate

As we now have seen, when the label has most width, the menu is centered. It seems that if the middle of the row is shifted, the menu strikes too.

The middle of the row might be shifted by making use of a optimistic x-offset to the label, then compensating with unfavorable main padding on the Menu.

  • Through the use of .offset as a substitute of main .padding for the label, the width accessible for the textual content doesn’t change. So an extended label will solely wrap if the total row width is simply too slim.
  • Through the use of unfavorable padding for the Menu, the hit space doesn’t transfer. If as a substitute a unfavorable offset is used, the right-side of the row is now not receptive to faucets.
personal let labelOffset: CGFloat = 20
Menu {
    // ... buttons, as earlier than
} label: {
    Textual content("Add Query")
        .foregroundStyle(Coloration.white)
        .background(Coloration.black)
        .body(maxWidth: .infinity, alignment: .main)
        .contentShape(Rectangle())
        .offset(x: labelOffset) // 👈 added
}
.padding(.main, -labelOffset) // 👈 added

When the dimensions of the offset is small, the menu strikes by half this measurement. For instance, if the offset is 20 (as above), the menu is proven 10 factors to the left of middle.

There appears to be a threshold, above which the menu alignment switches from the middle of the row to the left facet of the row. In my exams on an iPhone 16 simulator, the edge was round 40. This worth occurs to be the gap from the sting of the display screen to the row content material. When the checklist row insets are modified, the edge additionally modifications. So the edge in all probability is determined by the insets.

Rising the offset above this threshold makes no distinction. So to maneuver the menu to the left, the offset would not have to be an actual quantity, it simply must be greater than the edge.

Right here is the way it appears to be like utilizing an offset of fifty. It additionally appears to be like precisely the identical when you use an offset of 100:

Screenshot

To tremendous tune the positioning, it could be good if the menu may very well be moved to the suitable by about 12 factors, in order that it aligns with the row. Sadly, I could not discover a approach to do that😢


3. Add trailing padding to the menu

As type of a mixture of the 2 workarounds above, the menu may also be moved to the left facet by including trailing padding to the menu.

The quantity of padding that’s wanted corresponds once more to the edge offset mentioned above for workaround 2. So with the default checklist insets, the padding for an iPhone 16 must be at the very least 40. On an iPad, it must be bigger (100 works).

  • The hit space on the right-side of the row is lowered by the padding quantity, so it’s best to maintain the padding to the minimal essential.

  • Destructive padding might be added to the label to stop the textual content from wrapping, if wanted. Nevertheless, this does not assist to extend the hit space.

This variant offers higher menu alignment. So although the hit space excludes the width of the padding on the suitable facet of the row, it’s a higher answer than workaround 1:

Menu {
    // ... buttons, as earlier than
} label: {
    Textual content("Add Query")
        .foregroundStyle(Coloration.white)
        .background(Coloration.black)
        .body(maxWidth: .infinity, alignment: .main)
        .padding(.trailing, -40) // 👈 added
        .contentShape(Rectangle())
}
.padding(.trailing, 40) // 👈 added

Screenshot